C2_jdbc
jdbc
少年西西
这个作者很懒,什么都没留下…
展开
-
jdbc中的行级锁(悲观锁)和乐观锁
1.行级锁(悲观锁) select ename, job, sal from emp where job = ‘Manager’ for update; 在后面加了for update就产生了行级锁 作用: 将查询结果集在表中的对应的记录,开始锁住,在当前事务结束前,别的事务根本修改不了锁住的数据。 2.乐观锁 乐观锁会在数据后面添加一个隐藏的版本号,假设为version。 只要事务读取到的版本号没有改变,事务就能对数据进行修改 参考:https://blog.csdn.net/pipizhen_/art.转载 2020-12-20 21:37:13 · 362 阅读 · 0 评论 -
jdbc中考虑事务的通用增删改查
1.考虑到事务以后,实现的通用的增删改操作 // 通用的增删改操作---version 2.0 (考虑上事务) public int update(Connection conn,String sql, Object... args) {// sql中占位符的个数与可变形参的长度相同! PreparedStatement ps = null; try { // 1.预编译sql语句,返回PreparedStatement的实例原创 2020-12-20 17:50:13 · 164 阅读 · 0 评论 -
jdbc中PreparedStatment实现高效的批量插入
方式一:使用Statement实现 Connection conn = DBCUtils.getConnection(); Statement st = conn.createStatement(); for(int i = 1;i <= 20000;i++){ String sql = "insert into goods(name)values('name_" + i + "')"; st.execute(sql); } 方式二:使用PreparedStatement /*原创 2020-12-20 16:41:00 · 517 阅读 · 0 评论 -
jdbc中PreparedStatment通用增删改查
1.DBUtil package loey.DBUtil; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; /** * JDBC工具类,简化JDBC编程 */ public class DBUtil { /** * 工具类中的构造方法是私有的 * 因为工具类中的方法原创 2020-12-20 16:29:05 · 185 阅读 · 0 评论 -
jdbc中DBUtils提供的jar包(QueryRunner)实现CRUD操作
导入jar包: 使用现成的jar中的QueryRunner测试增、删、改的操作: //测试插入 @Test public void testInsert() { Connection conn = null; try { QueryRunner runner = new QueryRunner(); conn = JDBCUtils.getConnection3(); String sql = “insert into customers(name,email,birth)values(?,?,?)”; i原创 2020-12-20 20:48:20 · 2171 阅读 · 2 评论 -
jdbc中的数据库连接池
1.传统连接的问题: 2.如何解决传统开发中的数据库连接问题:使用数据库连接池 3.使用数据库连接池的好处: 或自己组织语言: 1.提高程序的响应速度(减少了创建连接相应的时间) 2.降低资源的消耗(可以重复使用已经提供好的连接) 3.便于连接的管理 4.实现的方式: ...原创 2020-12-19 23:56:54 · 146 阅读 · 1 评论 -
jdbc中首次了解DAO及其子类
/* DAO: data(base) access object 封装了针对于数据表的通用的操作 */ public abstract class BaseDAO { private Class clazz = null; // public BaseDAO(){ // // } { //获取当前BaseDAO的子类继承的父类中的泛型 Type genericSuperclass = this.getClass().getGenericSuperclass(); Parameteri原创 2020-12-19 23:56:26 · 159 阅读 · 1 评论 -
JDBC中数据库的事务
1.事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 > 一组逻辑操作单元:一个或多个DML操作。 2.事务处理的原则: 保证所事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。 当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存 下来;要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到最初状态。 说明: 1.数据一旦提交,就不可回滚 * 2.哪些操作会导致数据的自动提交? >DD原创 2020-12-19 23:55:44 · 142 阅读 · 1 评论 -
jdbc中PreparedStatement替换Statement实现CRUD与Blob类型的操作
1.PreparedStatement的理解: ① PreparedStatement 是Statement的子接口 ② An object that represents a precompiled SQL statement. ③ 可以解决Statement的sql注入问题,拼串问题 package loey.java1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatemen原创 2020-12-19 23:54:39 · 589 阅读 · 1 评论 -
jdbc中Statement接口实现CRUD操作(了解)
package loey.java1; import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** 实现功能: 1、需求 模拟用户登录功能的实现 2、业务描述 程序运行的时候,提供一个输入的入口,可以让用户输入用户名和密码 用户输入用户名和密码之后,提交信息,java程序收集用户信息 java程序连接数据库验证用户名和密码是否效原创 2020-12-19 23:53:17 · 213 阅读 · 1 评论 -
jdbc执行DQL(select)编程及遍历举例
遍历结果集: 【总结】 两种思想: 面向接口编程的思想 ORM编程思想:(object relational mapping) 一个数据表对应一个java类 表中的一条记录对应java类的一个对象 表中的一个字段对应java类的一个属性 两种技术: 1.使用结果集的元数据:ResultSetMetaData getColumnCount():获取列数 getColumnLabel():获取列的别名 说明:如果sql中没给字段其别名,getColumnLabel()获取的就是列名 反射的使用(①创建原创 2020-12-19 23:51:43 · 258 阅读 · 1 评论 -
jdbc执行DML(insert、update、delete)编程举例
aaa原创 2020-12-19 23:50:50 · 524 阅读 · 1 评论 -
jdbc的概念
1、JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) 2、JDBC的本质是什么 JDBC是SUN公司制定的一套接口(interface) java.sql.*; (这个软件包下有很多接口。) 接口都有调用者和实现者。 面向接口调用、面向接口写实现类,这都属于面向接口编程。 为什么要面向接口编程? 解耦合:降低程序的耦合度,提高程序的扩展力。 多态机制就是非常典型的:面向抽象编程。(不要面向具体编程) 建议: Animal a = new Cat(); Ani原创 2020-12-19 23:49:56 · 452 阅读 · 1 评论
分享