mybatis
来源:互联网 发布:网络文学评论平台 编辑:程序博客网 时间:2024/05/22 15:02
说明: 视频学习总结
原视频网址: http://edu.51cto.com/course/10897.html
一、mybatis介绍
1、与ibatis关系: Mybatis是apache开源项目ibatis,后google收购以后改为mybatis
2、orm介绍: object relation model 对象关系模型。
mybatis是一种半自动化的orm框架: 在mybatis中需要书写sql语句
hibernate: 是一种全自动化的orm框架: 不需要书写sql
3、与jdbc比较
支持sql查询,存储和高级映射的持久层框架
消除了几乎所有的jdbc代码和参数的手工设置以及结果集的检索
使用简单的xml或注解用户配置和原始映射,将接口和java的pojos映射成数据库的记录
操作更简单,特别是mybatis的逆向工程
二、 配置环境
xml配置需要提示标签,在eclipse中需要配置
1、配置mybatis-3-mapper.dtd
2、配置mybatis-3-config.dtd
3、导入jar包
4、配置mybatis.xml
5、书写局部配置文件
6、管理mybatis.xml与局部配置文件关联起来
测试代码: https://github.com/xiangqian19831224/mybatis01.git
三、操作
1、查询
返回类型: 必须指定
条件类型: 条件查询,在select标签中用parameterType指定条件类型
public voidselectAll() throws Exception {
// 2、调用SqlSession这个类中的selectList方法
List lists = session.selectList("cn.;
System.out.println(lists);
}
2、添加
返回类型: 不指定,默认都是int
条件类型: 需要指定
事务: 需要提交
@Test
public voidaddComputer() {
// 1、将多个参数封装到map集合中去
Map parameter = new HashMap();
parameter.put("brand", "戴尔");
parameter.put("computer_name", "dell");
parameter.put("price", 8000F);
// 2、调用SqlSession中相关方法
int flag =session.insert("cn.java.dao.impl.ComputerDaoImpl.addComputer",parameter);
// 3、提交事务
session.commit();
if (flag >= 1) {
System.out.println("数据添加成功");
} else {
System.out.println("数据添加失败,请重新添加");
}
}
3、修改数据
返回类型:不指定
参数类型:parameterType指定
事务:需要提交
public voidupdateComputer() {
// 1、封装需要修改的参数信息
Map parameter = new HashMap();
parameter.put("computer_name", "戴尔笔记本");
parameter.put("price", "9000");
parameter.put("id", 7L);
// 2、调用SqlSession类中的相关方法
int flag =session.update("cn.java.dao.impl.ComputerDaoImpl.updateComputer",parameter);
session.commit();
// 3、查看结果
System.out.println(flag);
}
4、删除数据
返回类型: 不指定
参数:一般都是通过id来删除的
事务:需要提交
public voiddeleteComputer(){
int flag =session.delete("cn.java.dao.impl.ComputerDaoImpl.deleteComputer",7);
session.commit();
System.out.println(flag);
}
5、带条件的查询
parameterType属性: 参数类型
增删改查四个标签都有该属性
resultType属性:返回类型
查询操作需要指定返回类型
增删改不需要
参考代码:
查询与添加:https://github.com/xiangqian19831224/mybatis02.git
更新与删除:https://github.com/xiangqian19831224/mybatis03.git
条件查询: https://github.com/xiangqian19831224/mybatis04.git
四、其他标签
1、别名标签
用处: 实体类的别名标签,写sql配置文件是,具体实体路径用别名代替
标签: typeAliases
卸载主配置文件mybatis.xml的第一行,否则会报错
2、sql标签
用处: 存放公共字段,用于sql语句的书写
3、include标签
用户:代表引用的含义,与sql标签组合使用
参考代码:https://github.com/xiangqian19831224/mybatis05.git
五、特殊符号
1、比较符号的替换
>: >
<: <<br> =: =
2、$与#的区别
#: 将传入的数据作为一个字符串 例如(假设user_id=111): order by#user_id# ---> order by "111"
$: 将传入的数据直接显示在sql中 例如(假设user_id=111): order by $user_id$ ---> order by 111
说明:sql中只建议使用#
参考代码: https://github.com/xiangqian19831224/mybatis06.git
六、动态sql语句查询
用处: 查询条件个数不确定是可用
参考代码: https://github.com/xiangqian19831224/mybatis07.git
原视频网址: http://edu.51cto.com/course/10897.html
一、mybatis介绍
1、与ibatis关系: Mybatis是apache开源项目ibatis,后google收购以后改为mybatis
2、orm介绍: object relation model 对象关系模型。
mybatis是一种半自动化的orm框架: 在mybatis中需要书写sql语句
hibernate: 是一种全自动化的orm框架: 不需要书写sql
3、与jdbc比较
支持sql查询,存储和高级映射的持久层框架
消除了几乎所有的jdbc代码和参数的手工设置以及结果集的检索
使用简单的xml或注解用户配置和原始映射,将接口和java的pojos映射成数据库的记录
操作更简单,特别是mybatis的逆向工程
二、 配置环境
xml配置需要提示标签,在eclipse中需要配置
1、配置mybatis-3-mapper.dtd
2、配置mybatis-3-config.dtd
3、导入jar包
4、配置mybatis.xml
5、书写局部配置文件
6、管理mybatis.xml与局部配置文件关联起来
测试代码: https://github.com/xiangqian19831224/mybatis01.git
三、操作
1、查询
返回类型: 必须指定
条件类型: 条件查询,在select标签中用parameterType指定条件类型
public voidselectAll() throws Exception {
// 2、调用SqlSession这个类中的selectList方法
List lists = session.selectList("cn.;
System.out.println(lists);
}
2、添加
返回类型: 不指定,默认都是int
条件类型: 需要指定
事务: 需要提交
@Test
public voidaddComputer() {
// 1、将多个参数封装到map集合中去
Map parameter = new HashMap();
parameter.put("brand", "戴尔");
parameter.put("computer_name", "dell");
parameter.put("price", 8000F);
// 2、调用SqlSession中相关方法
int flag =session.insert("cn.java.dao.impl.ComputerDaoImpl.addComputer",parameter);
// 3、提交事务
session.commit();
if (flag >= 1) {
System.out.println("数据添加成功");
} else {
System.out.println("数据添加失败,请重新添加");
}
}
3、修改数据
返回类型:不指定
参数类型:parameterType指定
事务:需要提交
public voidupdateComputer() {
// 1、封装需要修改的参数信息
Map parameter = new HashMap();
parameter.put("computer_name", "戴尔笔记本");
parameter.put("price", "9000");
parameter.put("id", 7L);
// 2、调用SqlSession类中的相关方法
int flag =session.update("cn.java.dao.impl.ComputerDaoImpl.updateComputer",parameter);
session.commit();
// 3、查看结果
System.out.println(flag);
}
4、删除数据
返回类型: 不指定
参数:一般都是通过id来删除的
事务:需要提交
public voiddeleteComputer(){
int flag =session.delete("cn.java.dao.impl.ComputerDaoImpl.deleteComputer",7);
session.commit();
System.out.println(flag);
}
5、带条件的查询
parameterType属性: 参数类型
增删改查四个标签都有该属性
resultType属性:返回类型
查询操作需要指定返回类型
增删改不需要
参考代码:
查询与添加:https://github.com/xiangqian19831224/mybatis02.git
更新与删除:https://github.com/xiangqian19831224/mybatis03.git
条件查询: https://github.com/xiangqian19831224/mybatis04.git
四、其他标签
1、别名标签
用处: 实体类的别名标签,写sql配置文件是,具体实体路径用别名代替
标签: typeAliases
卸载主配置文件mybatis.xml的第一行,否则会报错
2、sql标签
用处: 存放公共字段,用于sql语句的书写
3、include标签
用户:代表引用的含义,与sql标签组合使用
参考代码:https://github.com/xiangqian19831224/mybatis05.git
五、特殊符号
1、比较符号的替换
>: >
<: <<br> =: =
2、$与#的区别
#: 将传入的数据作为一个字符串 例如(假设user_id=111): order by#user_id# ---> order by "111"
$: 将传入的数据直接显示在sql中 例如(假设user_id=111): order by $user_id$ ---> order by 111
说明:sql中只建议使用#
参考代码: https://github.com/xiangqian19831224/mybatis06.git
六、动态sql语句查询
用处: 查询条件个数不确定是可用
参考代码: https://github.com/xiangqian19831224/mybatis07.git
阅读全文
0 0
- MyBatis
- MyBatis
- Mybatis
- myBatis
- mybatis
- MyBatis
- mybatis
- Mybatis
- MyBatis
- Mybatis
- mybatis
- MyBatis
- MyBatis
- mybatis
- MyBatis
- mybatis
- mybatis
- mybatis
- Java笔记-JSONObject序列化包含Date类型数据的Java对象
- swift webview error = 999
- centos7.2+python2.7 gdal安装教程(校园网开启防火墙,无法使用yum,pip等工具)
- 勒索病毒爆发,CrowdStrike获1亿美元融资
- Android打开adb时出现弹出框未安装AdbWinApi.dll的解决方案
- mybatis
- 【单链表经典面试题解析二】删除一个无头单链表的非尾节点(不能遍历链表)
- 简化Kubernetes应用部署工具-Helm安装
- 【C#基础知识】获取网卡的ip地址和MAC
- sdnu1036
- Matlab实现HOG+SVM图像分类
- JavaSrcipt基础
- Spring MVC参数绑定失败
- 集群快速部署方法