mybatis入门系列
文章平均质量分 78
奋斗的小乌龟
这个作者很懒,什么都没留下…
展开
-
Mybatis入门系列之(十一)-- 一对一查询
一对一查询第一种解决方案假定一个用户对应一个角色:在SysUser中添加一个如下的字段: private SysRole role; public SysRole getRole() { return role; } public void setRole(SysRole role) { this.role = r...原创 2018-04-29 21:52:26 · 191 阅读 · 0 评论 -
Mybatis入门系列之(十四)——二级缓存
二级缓存MyBatis 的 二级缓存非常强大,它不同于一级缓存只存在于 SqlSession 的生命周期中,而是可以理解为存在于 Sq lSessionFactory 的生命周期中 。虽然目 前还没接触过同时存在多个 S qlSessionFactory 的情况,但可以知道,当存在多个 SqlSessioηFactory 时 , 它们的缓存都是绑定在各自对象上的,缓存数据在一般情况下是不相通的...原创 2018-05-01 19:28:50 · 383 阅读 · 0 评论 -
Mybatis入门系列之(十三)——一级缓存
一级缓存在EmpMapper.java接口中增加如下方法:/** * 根据id查询员工 * @param id * @return */Emp selectById(Long id);/** * 根据id删除用户 * @param id * @return */int deleteByid(Long id);在EmpMapper.xml配置文件中增加如下配置...原创 2018-05-01 07:41:40 · 391 阅读 · 0 评论 -
Mybatis入门系列-- 逆向工程生成代码
什么是逆向工程MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。使用逆向工程使用MyBatis的逆向工程,需要导入逆向工程的j...原创 2018-04-21 16:45:59 · 182 阅读 · 0 评论 -
Mybatis入门系列之(十)——动态sql之foreach
foreach标签需求:select * from sys_user where id in (1,2,3);这样的sql在mybatis中如何实现??1. foreach实现批量插入语法如下:insert into table_name (col_1,col2,...)values('value-1a',['value-1b',..]),('value-2...原创 2018-04-29 13:56:42 · 226 阅读 · 0 评论 -
Mybatis入门系列之(九)——动态sql之where-set-trim
where标签where 元素知道只有在一个以上的if条件有值的情况下才去插入“WHERE”子句。而且,若最后的内容是“AND”或“OR”开头的,where 元素也知道如何将他们去除。修改UserMapper.xml文件中的selectByUser方法,代码如下:<select id="selectByUser" resultType="tk.mybatis.simple.m...原创 2018-04-29 13:14:12 · 201 阅读 · 0 评论 -
Mybatis入门系列之(八)——动态sql之choose-when-otherwise
where语句用使用choose-when-otherwise接上文:有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。而使用if标签时,只要test中的表达式为 true,就会执行 if 标签中的条件。MyBatis 提供了 choose 元素。if标签是与(and)的关系,而 choose 是或(or)的关系。choose标签是按顺序判断其内部when标签中的test条...原创 2018-04-29 11:36:53 · 2674 阅读 · 0 评论 -
Mybatis入门系列之(七)——动态sql之if
where语句用使用if需求:需求:实现一个用户的高级查询功能,根据输入的条件去检索用户信息。说明:当只输入用户名时,需要根据用户名模糊查询;当只输入邮箱时,根据邮箱进行完全匹配;当同时输入用户名和邮箱时,用这两个条件同时查询。sql语句如下: <select id="selectByUser" resultType="tk.mybatis.simpl...原创 2018-04-27 19:02:20 · 458 阅读 · 0 评论 -
Mybatis入门系列之(六)——注解
常用的四个注解:@Select,@Insert,@Update,@Delete@Select在tk.mybatis.simple.mapper.RoleMapper接口中增加如下方法:/** * 根据id查询角色信息 * * 数据库字段名和javaBean的属性名对应关系的解决办法: * 1. 查询使用别名 * 2. 开启驼峰映射(配置 mapUnderscoreTo...原创 2018-04-27 17:01:05 · 335 阅读 · 1 评论 -
Mybatis入门系列之(五)——Mapper接口实现原理
假如有如下UserMapper接口:public interface UserMapper { List<SysUser> selectAll();}创建一个代理类MapperProxy.java,代码如下:import org.apache.ibatis.session.SqlSession;import java.lang.reflect.Invo...原创 2018-04-27 15:40:38 · 555 阅读 · 0 评论 -
Mybatis入门系列之(四)——接口多参数
问题:接口中的方法的参数不止一个的情况,如何将参数注入到sql语句中,这里有两种解决方案:① 使用Map类型作为参数(比较繁琐,不学习)② 使用@Param注解先看看两个参数出现的问题:在UserMapper.java中定义如下方法:/*** 根据userId和enabled的状态获取用户的角色** 疑问:为什么一个参数的时候不使用@param注解呢?* 这是因为...原创 2018-04-27 15:30:01 · 200 阅读 · 0 评论 -
Mybatis入门系列之(三)——DML入门
以下的代码和配置文件请参考:Mybatis入门系列之(二)——查询入门案例https://blog.csdn.net/guo20082200/article/details/80086648insert语句在UserMapper.java中添加如下方法: /** * 添加一个用户 * @param sysUser * @return...原创 2018-04-27 15:07:08 · 662 阅读 · 0 评论 -
Mybatis入门系列之(二)——查询入门案例
本文将介绍简单的select查询整个工程结构如下: 1. 需求,一个简单的权限控制需求:用户-角色-权限,表关系如下图所示 建表语句CREATE TABLE sys_user( id BIGINT AUTO_INCREMENT COMMENT '用户ID', user_name VARCHAR(50) COMMENT '用户名', user_passwo...原创 2018-04-25 22:06:07 · 279 阅读 · 0 评论 -
Mybatis入门系列之(一)——入门案例
创建maven项目(略),并引入依赖(pom.xml文件内容如下)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2018-04-24 16:31:44 · 206 阅读 · 0 评论 -
Mybatis入门系列之(十五)——mybatis集成ehcache
集成ehcacheEhcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。主要的特性有:快速简单多种缓存策略缓存数据有两级:内存和磁盘,因此无需担心容量问题缓存数据会在虚拟机重启的过程中写入...原创 2018-05-02 10:37:19 · 321 阅读 · 0 评论