mybatis-中⽂⽂档
1 Mybatis的介绍
Mybatis就是⼀个封装jdbc的持久层框架,它和hibernate都属于ORM框架,但是具体的说,hibernate是⼀个完全的orm框架,⽽mbatis是⼀个不完全的orm框架.
Mybatis让程序员只关注sql本⾝,⽽不需要去关注如连接的创建、statement 的创建等操作。
Mybatis会将输⼊参数据、输出结果进⾏映射
MyBatis 本是的⼀个开源项⽬, 2010年这个项⽬由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis 对ibatis进⾏⼀些改进。
MyBatis是⼀个优秀的持久层框架,它对jdbc的操作数据库的过程进⾏封装,使开发者只需要关注 SQL 本⾝,⽽不需要花费精⼒去处理例如注册驱动、创建connection、创建statement、⼿动设置参数、结果集检索等jdbc繁杂的过程代码。
Mybatis通过xml或注解的⽅式将要执⾏的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进⾏映射⽣成最终执⾏的sql语句,最后由mybatis框架执⾏sql并将结果映射成java对象并返回。
2 分析jdbc的问题
2.1 原⽣态的jdbc代码
publicstaticvoid main(String[] args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
//1、加载数据库驱动
Class.forName("oracle.jdbc.OracleDriver");
//2、通过驱动管理类获取数据库链接
connection = Connection("jdbc:oracle:thin:@localhost:1521:XE", "xiaoming", "root");
//3、定义sql语句 ?表⽰占位符
String sql = "select * from t_user where t_name = ?";
//4、获取预处理statement
preparedStatement = connection.prepareStatement(sql);
//5、设置参数,第⼀个参数为sql语句中参数的序号(从1开始),第⼆个参数为设置的参数值
preparedStatement.setString(1, "程冠西");
//6、向数据库发出sql执⾏查询,查询出结果集
大数据数据分析resultSet = uteQuery();
//7、遍历查询结果集
()){
System.out.String("t_id")+""+String("t_name")); }
} catch (Exception e) {
mysql语句的执行顺序软件库网页版源码e.printStackTrace();
}finally{
//8、释放资源
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(preparedStatement!=null){
try {
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();lake发音教学
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
2.2 问题总结flex布局从右到左
1、在创建连接时,存在硬编码
配置⽂件
2、在执⾏statement时存在硬编码
配置⽂件(映射⽂件)
3、频繁的开启的关闭数据库连接,会造成数据库性能下降。数据库连接池(全局配置⽂件)
3 Mybatis的框架原理
4 ⼊门程序
4.1 需求
对订单商品案例中的⽤户表进⾏增删改查操作
1、根据⽤户id查询⽤户信息
2、根据⽤户名称模糊查询⽤户列表
3、添加⽤户
4、删除⽤户(练习)
5、修改⽤户(练习)
4.2 环境准备
l Jdk:1.7
l Ide: MyEclipse 10
l Mybatis:3.2.7
l 数据库:mysql
4.3 下载mybaits
4.4 数据库脚本初始化
4.5 ⼯程搭建
Mybatis的核⼼包和依赖包(必须)
mysql的驱动包(必须)
Junit(⾮必须)
4.6 代码实现
4.6.1 创建po类
4.6.2 创建全局配置⽂件
在config⽬录下,创建l,该名称不是固定不变的
db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:XE
4.6.3 需求开发
4.6.3.1 根据⽤户id查询⽤户信息
4.6.3.1.1 映射⽂件
4.6.3.1.2 在全局配置⽂件夹中加载映射⽂件
4.6.3.1.3 测试代码
4.6.4 根据⽤户名称模糊查询⽤户列表
4.6.4.1.1 映射⽂件
concat("%",#{value},"%")
concat(concat('%',#{value}),'%')
4.6.4.1.2 在全局配置⽂件夹中加载映射⽂件
4.6.4.1.3 测试代码
4.6.5 添加⽤户
4.6.
5.1.1 映射⽂件
sql sever 20084.6.
5.1.2 在全局配置⽂件夹中加载映射⽂件
4.6.
5.1.3 测试代码
4.6.
5.1.4 主键返加⾃增长序列
Mysql
如果使⽤UUID 字段就必需设置为字符串
select sys_guid()from dual;
oracle
4.6.
5.1.5 selectKey语句属性配置细节:
属性描述取值keyProperty selectKey 语句⽣成结果需要设置的属性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论