-
JDBC升级之替代产品:Commons-dbutils
apache提供的一个jdbc开源的工具类库,对传统操作数据库的类进行二次封装,可以把结果集转换成list
查看全部 -
dbcp和c3p0的比较:
查看全部 -
jdbc-c3p0连接池
① 导包:
② 在项目根目录增加配置文件
c3p0.properties (driverClassName/url/username/password/maxActive)
③ 编写类文件,创建连接池
查看全部 -
通过代码实现事务管理
Connection conn = DBUtil.getConnection();
第一步:关闭自动提交
conn.setAutoCommit(false);
第二步:将代码用 try catch 包围
第三步:在catch内进行事务的回滚 conn.rollback(),在try中进行手动的事务提交 conn.commit()
查看全部 -
事务
事务是数据库管理系统执行过程中的一个逻辑单位
① 原子性:事务是一个完整的操作
② 一致性:当事务完成时,数据必须处于一致的状态
③ 隔离线:对数据进行修改的所有并发事务是彼此隔离的
④ 永久性:事务完成后,它对数据库的修改被永久保持
查看全部 -
C3P0jar
查看全部 -
dbcp配置
查看全部 -
dbcp jar
查看全部 -
JDBC调用有参数的存储过程
查看全部 -
@JDBC---替代品之myBatis
MyBatis:支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
特点:
1:易于上手和掌握。
2:SQL卸载XML里,便于统一管理和优化。
3:解除SQL与程序代码的耦合。
4:提供映射标签,支持对象与数据库的orm字段关系映射。
5:提供对象关系映射标签,支持对象关系组建维护。
6:提供XML标签,支持编写动态SQL。查看全部 -
@JDBC---替代品之Hebernate
Hibernate:一种Java语言下的对象关系映射解决方案。它是一种自由,开源的软件。
优点:
1:轻量级的ORM框架
2:对JDBC进行了很好的封装,使用了ORM做了映射,那么就可以通过面向对象的方式很容易的操作数据库了。
3:它还提供了缓存机制,可以提高效率。缺点:
如果对大量的数据进行频繁的操作,性能效率比较低,不如直接使用JDBC核心接口:
Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。
SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。
Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。
Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事物处理代码。
Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。查看全部 -
@JDBC---替代品之DBUtils
核心接口:
1.DbUtils:提供如关闭连接,装载JDBC驱动程序等常规工作的工具类;
2.QueryRunner:该类简化了SQL查询,它常与ResultSetHandler组合在一起使用
3.ResultSetHandler:执行处理一个java.sql.ResultSet,将数据转变并处理为任何一种形式,这样有益于其应用而且使用起来更容易。实例1:
final String SQL = "INSERT INTO test_1 VALUES(?,?)";
int result = new QuertRunner().update(conn,SQL,new Object[]{"John","123"});
实例2:
finalString SQL = "SELECT * FROM test_1"; Test_1Bean testBean = new QuertRunner().quert(conn,SQL,new HeanHandler(Test_lBean.class));
查看全部 -
@JDBC---连接池dbcp与c3p0总结
jar包、配置文件、获取连接。
dbcp是Spring推荐,c3p0是Hibernate推荐。
查看全部 -
@JDBC---数据库连接池之C3P0
1.导入相关C3P0的jar包
c3p0-0.9.2-pre4.jar
mchange-commons-java-0.2.2.jar
2.在项目根目录下添加配置文件c3p0.propertiesc3p0.driverClassName="com.mysql.jdnc.Driver" c3p0.url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8" c3p0.username="root" c3p0.password="root"
3.编写类文件,创建连接池
public class C3P0Util{ private static ComboPooledDataSource ds=new ComboPooledDataSource(); public static Connection getConnection(){ try{ return ds.getConnection(); catch(SQLException e){ throw new RuntimeException(e); } } }
查看全部 -
@JDBC---数据库连接池之dbcp
1.导入相关dbcp的jar包
commons-dpcp2-2.1.1.jar
commons-pool2-2.4.2.jar
commons-logging-1.2.jar2.在项目根目录下添加配置文件dbcp.properties
主要配置信息driverClassName="com.mysql.jdnc.Driver" url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8" username="root" password="root"
3.实现dbcp连接池
public class DBCPUtil{ //数据源,static private static DataSource DS; //配置文件位置 private static final String configFile = "/dbcp.properties"; //默认构造函数 public DBCPUtil(){ initDbcp(); } //初始化DS private static void initDbcp(){ Properties pops = new Properties(); try{ //以流形式读取配置文件 props.load(Object.class.getResourceAsStream(configFile)); //创建数据源 DS = BasicDataSourceFactory.createDataSource(pops); }catch(Exception e){ e.printStackTrace(); } } //连接数据库 public Connection getConn(){ Connection con=null; if(DS!=null){ try{ //获取连接 con=DS.getConnection(); }catch(Exception e){ e.printStackTrace(System.err); } try{ //设置成手动提交事务 con.setAutoCommit(false); }catch(SQLException e){ e.printStackTrace(System.err); } } return con; } }
查看全部
举报