
Mybatis
Mybatis
pipizhen_
昨日之日不可留。
展开
-
Mybatis中的延迟加载
Mybatis中的延迟加载问题的引出:在一对多中,一个用户有多个账户。在查询用户的时候,要不要把关联的账户查询出来?如果查询出来,但没有用到,岂不很浪费内存?在查询账户的时候,要不要把关联的用户查询出来?在查询用户的时候,用户的账户信息应该是,什么时候使用到,什么时候去查询。查询账户的时候,账户的所属用户的信息应该随着账户查询时一起查询出来。(1)什么是延迟加载?在真正使用数据时才发起查询,不用的时候不查询。也叫按需加载,也叫懒加载。(2)什么是立即加载?不管用不用,只要一调用方法原创 2020-10-06 10:34:18 · 287 阅读 · 0 评论 -
Mybatis和Spring的整合:动态代理方式的Dao开发
Mybatis和Spring的整合:动态代理方式的Dao开发创建一个java工程。导入jar包。(mybatis与spring整合所有包)mybatis的配置文件sqlmapConfig.xml编写Spring的配置文件复制jdbc.properties配置文件到新工程复制log4j.properties配置文件到新工程1、编写Mybatis的核心配置文件:SqlMapConfig.xml其实不用写任何东西,全部交给Spring管理<?xml version="1.0" encod原创 2020-09-23 18:37:44 · 306 阅读 · 0 评论 -
Mybatis和Spring的整合:传统方式的Dao开发
Mybatis和Spring的整合创建一个java工程。导入jar包。(mybatis与spring整合所有包)mybatis的配置文件sqlmapConfig.xml编写Spring的配置文件数据库连接及连接池sqlsessionFactory对象,配置到spring容器中编写Spring的配置文件jdbc.properties配置文件log4j.properties配置文件传统模式的Dao开发1、Spring的配置文件<?xml version="1.0" encod原创 2020-09-23 18:28:19 · 292 阅读 · 0 评论 -
Mybatis中一对多的关联查询
Mybatis中一对多的关联查询问题:一个user中有多个订单order。改造user的pojopublic class User { private Integer id; private String username;// 用户姓名 private String sex;// 性别 private Date birthday;// 生日 private String address;// 地址 private List<Order> orders; // ...原创 2020-09-23 11:25:24 · 150 阅读 · 0 评论 -
Mybatis中的一对一关联查询
Mybatis中的一对一关联查询问题:查询一条订单Order,同时关联查询该订单的User信息。1、方法一,使用resultType新建OrderUser的pojo,继承自Order。这样这个pojo的类就有了我们想要查询的各个字段。public class OrderUser extends Order { private String username; private String address; // get, set}编写映射语句:<!-- 一对一关联查询,使原创 2020-09-23 11:20:25 · 717 阅读 · 1 评论 -
Mybatis中动态sql语句的编写
Mybatis中动态sql语句的编写1、sql片段的编写:<!-- sql片段的抽取,定义 --><sql id="user_sql"> `id`, `username`, `birthday`, `sex`, `address`</sql><select id="getUserById" parameterType="int" resultType="user"> SELECT <!-- sql片段使用:refid引用定义好的原创 2020-09-23 11:07:09 · 649 阅读 · 0 评论 -
Mybatis中的输入映射parameterType 和 输出映射resultType,resultMap
输入映射parameterType的使用1、输入简单的类型(1)映射配置语句:<select id="getUserById" parameterType="int" resultType="user"> SELECT `id`, `username`, `birthday`, `sex`, `address` FROM `user` WHERE id = #{id}</select>(2)测试程序:@Testpublic void test原创 2020-09-23 10:50:47 · 303 阅读 · 0 评论 -
Mybatis中的核心配置文件SqlMapConf.xml的配置规则
Mybatis中的核心配置文件SqlMapConf.xml的配置规则SqlMapConf.xml的文件引用的约束是dtd,必须按照顺序编写配置:1、属性配置 properties(1)先在外部编写一个jdbc连接的基本信息:jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8jdbc.username=rootjdbc.password=12原创 2020-09-22 10:59:16 · 368 阅读 · 0 评论 -
Mybatis中的原始Dao开发 和 动态代理开发
Mybatis中的原始Dao开发 和 接口动态代理开发原始Dao开发方法1、UserDao接口public interface UserDao { // 根据用户ID查询用户信息 User getUserById(Integer id); // 根据用户名查找用户列表 List<User> getUserByUserName(String name); // 添加用户 void insertUser(User user);}2、UserDaoImpl接口实现类原创 2020-09-22 10:42:04 · 158 阅读 · 0 评论 -
Mybatis框架的入门
Mybatis框架的入门学习过的持久层框架:DBUtils,Hibernate。Mybatis就是类似于hibernate的orm持久层框架。为什么学Mybatis?1、目前最主流的持久层框架为hibernate与mybatis,而且国内目前情况使用Mybatis的公司比hibernate要多。2、sql优化方面,Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。当然了,Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。原创 2020-09-22 10:24:52 · 154 阅读 · 0 评论