MyBatis
MyBatis相关基础
風林火山zyw
这个作者很懒,什么都没留下…
展开
-
MYBatis(十一)分页查询
1 pom文件中添加依赖 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</version>原创 2022-04-11 01:40:29 · 731 阅读 · 0 评论 -
MyBatis(十)逆向工程
正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java实体类 Mapper接口 Mapper映射文件 pom文件中添加依赖插件: 注意:<build>标签中的mysql驱动需要和dependencies标签中的版本一致 <build> <!-- 构建过程中用到的插件,如果版本太低,请用更高的版本 --> <plugins&g原创 2022-04-11 01:02:12 · 188 阅读 · 0 评论 -
MyBatis(九)缓存
1 MyBatis的一级缓存 一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 使一级缓存失效的四种情况: 不同的SqlSession对应不同的一级缓存 同一个SqlSession但是查询条件不同 同一个SqlSession两次查询期间执行了任何一次增删改操作 同一个SqlSession两次查询期间手动清空了缓存 2 MyBatis的二级缓存 二级缓存是SqlSessionFactory级.原创 2022-04-10 23:59:04 · 71 阅读 · 0 评论 -
MyBatis(八)动态SQL
Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题。 if 标签 if标签可通过test属性(即传递过来的数据)的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中的内容不会执行。 在where后面添加一个恒成立条件1=1,这个恒成立条件并不会影响查询的结果 这个1=1可以用来拼接and语句,例如:当empName为null时 如果不加上恒成立条件,则SQL语句为select * from t_原创 2022-04-10 21:57:26 · 686 阅读 · 0 评论 -
MyBatis(七)一对多映射处理
员工实体类 public class Emp { private Integer eid; private String empName; private Integer age; private String sex; private String email; private Dept dept; //...构造器、get、set方法,toString方法等 } 部门实体类 public class Dept { private Integer d原创 2022-04-10 18:59:28 · 368 阅读 · 0 评论 -
MyBatis(六)多对一映射处理
员工实体类 public class Emp { private Integer eid; private String empName; private Integer age; private String sex; private String email; private Dept dept; //...构造器、get、set方法,toString方法等 } 部门实体类 public class Dept { private Integer原创 2022-04-10 18:19:18 · 393 阅读 · 0 评论 -
MyBatis(五)resultMap自定义映射
如果数据库字段和实体类中的属性字段存在不一致情况,通常可自定义resultMap来映射;另外还可以通过sql语句的别名和开启下划线转驼峰的方式来映射。 1 resultMap resultMap:设置自定义映射 属性: id:表示自定义映射的唯一标识,不能重复 type:查询的数据要映射的实体类的类型 子标签: id:设置主键的映射关系 result:设置普通字段的映射关系 子标签属性: property:设置映射关系中实体类中的属性名 column:设置映射关系中表中的字段名 若字段名和实原创 2022-04-10 17:55:48 · 1115 阅读 · 0 评论 -
MyBatis(四)添加数据获取主键
在mapper.xml中设置两个属性 useGeneratedKeys:设置使用自增的主键key Property:因为增删改有统一的返回值是受影响的行数,因此只能将获取的自增的主键放在传输的参数user对象的某个属性中 <!--void insertUser(User user);--> <insert id="insertUser" useGeneratedKeys="true" keyProperty="id"> insert into t_user values (n原创 2022-04-10 16:40:05 · 371 阅读 · 0 评论 -
MyBatis(三)查询功能
MyBatis的各种查询功能 1、若查询的数据只有一条 a.可以通过实体类对象接收 b.可以通过List集合接收 c.可以通过Map集合接收 <!--User getUserById(@Param("id") int id);--> <select id="getUserById" resultType="User"> select * from t_user where id = #{id} </select> <!--List<User&g原创 2022-04-10 16:32:32 · 307 阅读 · 0 评论 -
MyBatis(二)参数取值
Mapper接口 package com.nmg.mybatis.mapper; import com.nmg.mybatis.pojo.User; import org.apache.ibatis.annotations.Param; import java.util.List; public interface ParameterMapper { List<User> getAllUser(); List<User> getUserByUserna原创 2022-04-10 16:11:15 · 1403 阅读 · 0 评论 -
MyBatis(一)基础配置
1 pom文件依赖 在利用MyBatis框架实现与数据库交互时,需要在pom文件中添加以下相关依赖 <!-- MySql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8原创 2022-04-10 15:00:24 · 835 阅读 · 0 评论