-
Hibernate的核心接口:
* Session接口:负责执行被持久化对象的CRUD操作
* SessionFactory接口:负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象
* Configuration接口: 负责配置并启动Hibernate,创建SessionFactory对象
* Transaction接口: 负责事务相关的操作,可选项(开发人员可以自己设计编写底层事务处理代码)
* Query和Criteria接口:负责执行各种数据库查询,可以使用HQL或SQL两种表达方式
查看全部 -
-调用带参的储存过程
mysql语句
CREATE PROCEDURE sp_select_filter(IN sp_name VARCHAR(20))
BEGIN
IF sp_name IS NULL OR sp_name = '' THEN
SELECT * FROM imooc_goddess;
ELSE
IF LENGTH(sp_name)=11 AND substring(sp_name,1,1) THEN
SELECT * FROM imooc_goddess WHERE mobile = sp_name;
ELSE
SELECT * FROM imooc_goddess WHERE user_name LIKE concat('%',sp_name,'%');
EN D IF;
END IF;
END
查看全部 -
SP代表存储过程
整个存储过程写在begin和end之间
查看全部 -
dbcp数据库连接池:
导入相关的jar包
在项目的根目录下新建一个配置文件dbcp.properties,需要配置的属性如下图
查看全部 -
@JDBC---替代品之myBatis
MyBatis:支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
特点:
1:易于上手和掌握。
2:SQL卸载XML里,便于统一管理和优化。
3:解除SQL与程序代码的耦合。
4:提供映射标签,支持对象与数据库的orm字段关系映射。
5:提供对象关系映射标签,支持对象关系组建维护。
6:提供XML标签,支持编写动态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:
final String SQL = "SELECT * FROM test_1"; Test_1Bean testBean = new QuertRunner().quert(conn,SQL,new HeanHandler(Test_lBean.class));
查看全部 -
@JDBC---实现事务管理
事务特点:
1.原子性:事务是一个完整的操作。
2.一致性:当事务完成时,数据必须处于一致的状态。
3.隔离性:对数据进行修改的所有并发事务必须是隔离的。【不可以同时操作一条数据】
4.永久性:事务完成后吗,数据库的修改必须是永久保持的。事务管理:
1.我们通过提交commit()或是回退rollback()来管理事务的操作。
2.事务操作默认是自动提交。
3.可以通过setAutoCommit(false)来禁止自动提交。调用过程:
1.conn.setAutoCommit(false);//jdbc默认自动提交;
2.try...catch语句包含执行业务逻辑,完成后conn.commit();
3.在catch中,加上回滚语句:conn.rollback();查看全部 -
@JDBC---带输入参数的存储过程
存储过程的代码:
CREATE PROCEDURE `sp_select_nofilter`(IN sp_name VARCHAR(20)) BEGIN IF sp_name IS NULL OR sp_name = '' THEN SELECT * FROM user1; ELSE IF LENGTH(sp_name)=11 AND SUBSTRING(sp_name,1,1)=1 THEN SELECT * FROM user1 WHERE user_naem=sp_name; ELSE SELECT *FROM user1 WHERE user_name LIKE CONCAT('%',sp_name,'%'); END IF; END IF; END
调用过程:
//1.获取连接 Connection c = DBHelper.getConnection(); //2.获得CallableStatement CallableStatement cs = c.PrepareCall("call sp_select_filter(?)"); cs.setString(1,sp_name); //3.执行存储过程 cs.execute(); //4.处理结果集 ResultSet rs = cs.getResultSet(); //5.遍历结果集 while(rs.next()){ rs.getString(...); ... }
查看全部 -
@JDBC---调用无参存储过程
存储过程的代码:
CREATE PROCEDURE db_name.sp_name() BEGIN select * FROM table_name; END;
调用过程:
//1.获取连接 Connection c = DBHelper.getConnection(); //2.获得CallableStatement CallableStatement cs = c.PrepareCall("call sp_select()"); //3.执行存储过程 cs.execute(); //4.处理结果集 ResultSet rs = cs.getResultSet(); //5.遍历结果集 while(rs.next()){ rs.getString(...); ... }
查看全部 -
继续学习Hibernate相关查看全部
-
dao层对账户查看全部
-
更新操作查看全部
-
执行实例和以前方法的区别查看全部
-
JDBC对事务的支持查看全部
-
怎么收藏查看全部
举报