一般流程
//1.import the package of jdbc-connection-jar
//2.registration driven
Class.forName("org.mariadb.jdbc.Driver");
//3.get Object of Databases_Connection
Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/wuliu", "root", "root");
//4.definition a sql statement
String sql = "update custom set custom_tel = 12345678910 where custom_id = 1";
//String sql = "update city set probince_id = 800 where city_id = 1";
//5.get Object of sql_action, use a word <"Statement">.
Statement stm = conn.createStatement();
//6.The sql statement is running.
long results = stm.executeLargeUpdate(sql);
//7.results of treatment
System.out.println(results);
//8.free the resources.
stm.close();
conn.close();
各类详解
-
DriverManager 驱动管理对象
1.注册驱动
static { try { DriverManager.registerDriver(new Driver(), new DeRegister()); } catch (SQLException var1) { throw new RuntimeException("Could not register driver", var1); } }
2.获取数据库连接
...... -
Connection 数据库链接对象
1.获取执行sql的对象.
2.管理事务.
开启事务.
提交事务.
回滚事务. -
Statement 执行sql的对象(执行静态语句)
执行静态语句.
int executeUpdate(sql):执行DML(insert,update,delete)语句,DDL(create,alter,drop)语句.返回值为更改的行数.
ResultUpdate(sql): 执行DQL(select)语句. -
ResultSet 结果集对象
封装查询结果.- next() : 游标向下移动. 返回值为boolean类型.
- getXXX(参数):
- 获取数据. 如: int getInt(), String getString()等. - 参数: 1.int: 代表列的编号,从1开始. eg. getString(1) 2.String: 代表列的名称. eg.getString("balance")
-
PreparedStatement
* 解决sql注入问题
* 参数使用"?"作为占位符.> 1. 在定义sql时用?作为占位符. 2. 获取执行sql语句的对象PreparedStatement : Connection.prepareStatement(String sql) 3. 给?赋值 : * 方法: *setXXX(?_index, ?_value) *
JDBC 事务
- 开启事务 : 执行sql之前开启事务.
setAutoCommit(boolean autoCommit) : 调用该方法设置参数为false,即开启事务. - 提交事务. commit(). : 执行sql完成后提交事务.
- 回滚事务. rollback(). : 执行sql出错时回滚事务.
其他相关用法
- executeUpdate()方法可用于增删改和创建语句.
- 获取src文件路径下的方式--> ClassLoader 类加载器.
ClassLoader cl = UtilsDemo.class.getClassLoader();
URL resource = cl.getResource("sql.properties");
String path = resource.getPath();
网友评论