代码实现:
//1.导入驱动jar包 //2.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连对象 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3","root","password"); //4.定义sql语句 String sql = "update account set balance = 500 where id = 1"; //5.获取执行sql语句的对象 Statement Statement stmt = conn.createStatement(); //6.执行sql int count = stmt.executeUpdate(sql); //7.处理结果 System.out.println(count); //8.释放结果 stmt.close(); conn.close();
功能:
1.注册驱动:告诉程序该使用哪一个数据库驱动jar
写代码使用:Class.forName("com.mysql.jdbc.Driver");
注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。
2.获取数据库连接
*方法:static Connection getConnection(String url, String user, String password)
*参数:
*url:指定连接的路径
*user:用户名
*password:密码
功能:
1.获取执行sql语句的对象
Statement createStatement()
PreParedStatement perpareStatement(String sql)
2.管理事务:
执行sql
1.Boolean execute(String sql ):可以执行任意的sql (了解)
2.int executeUpdate(String sql ):执行DML(insert,update,delete)语句、DDL(create,later,drop)语句
3.ResultSet executeQuery(String sql) :执行DQL(select)语句
1.boolean next():游标向下移动一行,判断当前行是否是最后一行末尾(是否有数据),如果是,则返回false,如果不是则返回true
2.getXxx(参数):获取数据
1.int:代表列的编号,从1开始 如:getString(1) 2.string:代表列名称。 如:getDouble("balance")\
注意:
使用步骤:
1.SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
2.解决sql注入问题:使用PreparedStatement对象来解决
3.预编译的SQL:参数使用 ?作为占位符
4.步骤:
5.注意:后期都会使用 PreparedStatement来完成增删改查的所有操作
1.事物:一个包含多个步骤的业务操作。如果这个业务操作被事物管理,则这多个步骤要么同时成功,要么同时失败
2.操作:
3.使用Connection对象来管理事务
开启事务:setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务
提交事务:commit()
回滚事务:rollback()
目的:简化书写
分析:
需求:不想传递参数(麻烦),还得保证工具类的通用性。
解决:配置文件
jdbc.properties url = user = password =
原文:https://www.cnblogs.com/cainiao-chuanqi/p/11146258.html