我是靠谱客的博主 沉静蛋挞,最近开发中收集的这篇文章主要介绍JDBC的操作流程整理                        仅供自己复习哦~欢迎大家指点.                                             总结:jdbc操作步骤总结如下:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

                        仅供自己复习哦~欢迎大家指点.

18/4/15

通过Java,jdbc操数据库.一般都是有固定的步骤构成:

  1.做好数据库  .jar的导入.

   2.创建对象.

3.定义driver,url,user,passwrod;

4.然后就是操作这些对象操作数据库中的数据

5.然后就是对这些对象进行异常捕获.

  通过try{ }catch{   }处理异常

6.最后一点! 别忘了关闭  Connection,PreparedStatement,ResultSet对象.

创建的时候是:Connection连接→PreparedStatement预处理→ResultSet结果集;

关闭的时候是倒着关闭的:ResultSet结果集→PreparedStatement预处理→Connection连接;

这也复合一定的逻辑.

                                             总结:

 

jdbc操作步骤总结如下:

1、 加载数据库驱动

2、 创建并获取数据库链接

3、 创建jdbc statement对象

4、 设置sql语句

5、 设置sql语句中的参数(使用preparedStatement)

6、 通过statement执行sql并获取结果

7、 对sql执行结果进行解析处理

8、 释放资源(resultSet、preparedstatement、connection)

 

jdbc问题总结如下:

1、 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。

2、 Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。

3、 向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。

4、 对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。

由此引伸到了Mybatis框架

 

 

 

 

 

最后附录一个自己写的登陆时用到的Dao层代码(类似工厂模式);

package com.cn.loginDao;
import java.sql.*;
public class UserDao {
	/**
	 * 用户的登录和注册
	 * @since 1.0  
	 * @version 1.1  
	 * @author Twenty-seven
	 * @data 18/3/25/11:24
	 *  */
	
	//查询用户密码
	public String FindUser(String username){
		String passd = null;
		String sql = "select * from User_info where username=?";
		Connection con =getConnection();//获取连接
		PreparedStatement pstmt =null;
		ResultSet rs = null;
		try {
			pstmt = con.prepareStatement(sql);//预处理
			pstmt.setString(1, username);//给?赋值
			rs = pstmt.executeQuery();//执行SQL语句
			if(rs.next()){//遍历查找到与username匹配的password
				passd=rs.getString("password");//将查询到的password赋值给passd
			}else{
				passd=null;//未查询到为空
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(rs!=null)rs.close();
				if(pstmt!=null)pstmt.close();
				if(con!=null)con.close();
			} catch (SQLException e) {		
				e.printStackTrace();
			}
		}
		return passd;//返回passd
	}
	//--------------------我是分隔符----略略略-------------------------------
	//注册新用户
	public void addUser(String username,String passd){
		Connection con = getConnection();
		PreparedStatement pstmt =null;
		String sql = "INSERT INTO User_info(username,password) VALUES(?,?)";
		try {
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, username);
			pstmt.setString(2, passd);
			pstmt.executeUpdate();
		}catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(pstmt!=null)pstmt.close();
				if(con!=null)con.close();
			}catch (SQLException e) {	
				e.printStackTrace();
			}
		}
	}
	//--------------------我是分隔符----略略略---------------------------
	//连接数据库    
	public static Connection getConnection(){
		String driver ="com.mysql.jdbc.Driver";//数据库驱动
		String url ="jdbc:mysql://localhost:3306/test";
		String user ="root";
		String password ="123456";
		Connection connection =null;
		try {
			Class.forName(driver);//加载数据库驱动
			connection =DriverManager.getConnection(url, user, password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return connection;//返回连接
	}
   //public static void main(String[] args) {
	//UserDao ud=new UserDao();
	//ud.addUser("q","q");
//}
}

 

最后

以上就是沉静蛋挞为你收集整理的JDBC的操作流程整理                        仅供自己复习哦~欢迎大家指点.                                             总结:jdbc操作步骤总结如下:的全部内容,希望文章能够帮你解决JDBC的操作流程整理                        仅供自己复习哦~欢迎大家指点.                                             总结:jdbc操作步骤总结如下:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部