mybatis
文章平均质量分 53
没事偷着乐琅
书中自有黄金屋,书中自有颜如玉。
展开
-
spring boot mybatis
APPLICATION FAILED TO STARTDescription:The bean ‘userMapper’ could not be injected because it is a JDK dynamic proxyThe bean is of type ‘com.sun.proxy.$Proxy67’ and implements:com.example.demomybatis.mapper.UserMapperExpected a bean of type ‘com.exa.原创 2021-07-26 11:01:20 · 1894 阅读 · 0 评论 -
MyBatis(九) resultType 和 resultMap 总结
MyBatis的核心就是 Mapper 映射: 一、适用场景 resultType 适合用于 清单列表。 resultMap 适合用于 树形结构关系的数据。二 开发难度: resultType 只需要编写一个包装类来完成数据的输入输出映射。(简单) resultMap 需要编写 包装类 和 resultMap mappe原创 2017-02-10 09:13:47 · 331 阅读 · 0 评论 -
Mybatis-Generator 逆向工程 不带example
Mybatis-Generator 逆向工程项目连接:https://gitee.com/leonzhang2013/mybatis-generator代码生成工具独立出来,方便使用。记得收藏起来。不带example 非常简单:在generatorConfig.xml 文件中把:<context id="testTables" targetRuntime="MyB...原创 2017-02-20 18:01:22 · 530 阅读 · 0 评论 -
spring boot 注解版 ( 一 ) 集成 mybatis:如何优雅的使用mybatis
转载 2017年02月08日 17:07:01 44680 这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时转载 2017-11-29 10:20:11 · 5182 阅读 · 3 评论 -
MyBaits 注解版(四)动态sql
1、创建 sql 提供类。 2、将 sql 提供类,注解到 Mapper类中1、第一步,编写 sql 语句提供类。public class SqlProvider { /** * 第一种方式 * @param user * @return */ public String getUser(User user){ StringBu原创 2017-11-15 13:50:56 · 429 阅读 · 0 评论 -
MyBatis 注解版(五)Spring boot 注解系列 插入对象返回 id
public interface StudentMapper { @Insert("insert into student(name,credit_hour) value(#{name},#{creditHour})") @Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")//加入该注解可以保持对象原创 2017-11-07 10:38:33 · 7190 阅读 · 0 评论 -
MyBatis 注解版 ( 二 ) pagehelper 分页
1 添加依赖: 建议使用 4.1.0 其他版本使用该演示 可能不生效。 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> ...原创 2017-11-07 11:52:58 · 4455 阅读 · 2 评论 -
MyBatis 注解版 ( 三 ) ${}和 #{}的区别
${} 直接填充#{} 会预编译例如:select * from ${table} where ${column} =1;出入 table= user column = idselect * from user where id =1;如果使用 #{} 就变成:select * from #{table} where #{column} =1;select * from 'user原创 2017-11-14 22:52:25 · 2065 阅读 · 0 评论 -
MyBatis(八) resultMap 之 (三) 延迟加载 (懒加载)
resultMap 用于映射 对象关系的 时使用。 对照对象的属性可以很方便的写出 mapper.xml 映射文件。下面用一个例子来再次说明resultMap 的映射过程。 场景如下: 需要查询 多个用户,当点击查看是可以查看他的所有的订单,点击订单时可以查看里面的商品如果要完成这个需求,对应的实体对象如下:User |--int id |--String name原创 2017-02-09 23:25:36 · 2144 阅读 · 0 评论 -
MyBatis(十) 缓存
MyBatis 存在 一级 和 二级 缓存(默认一级缓存是开启的)一级缓存保存在 每个 SqlSession 中 互不影响。 二级缓存保存在 于Mapper(namespace ) 中。缓存数据什么周期: 在一级缓存存在于单次的事务,创建SQLSession 到 SQLSession.close缓存被销毁,中间如果执行Commit命令,缓存同样会被清空。 一级缓存单次事务原创 2017-02-10 20:21:13 · 231 阅读 · 0 评论 -
mybatis (十二) 逆向工程
mybatis (十二) 逆向工程阅读目录一、什么是逆向工程 二、下载逆向工程三、使用方法回到顶部一、什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..) 实际转载 2017-02-10 23:45:19 · 335 阅读 · 0 评论 -
MyBatis (十一) 整合 集成缓存 ehcache
系统为了提高并发性能,一般对系统进行了分布式部署(集群部署方式) 如果不是用分布式缓存,缓存数据在各个服务器单独存储,如果可发访问了多个服务器,那么每个服务器之间都会存在一个同样的缓存,不利于管理, 处理办法:将缓存放到一个单独的服务器进行管理,这里就用到了 缓存框架(redis memacahed ehcache)MyBatis 的提供了支持 集成缓存的接口,下面我们,就以ehcahe原创 2017-02-10 22:13:25 · 272 阅读 · 0 评论 -
MyBatis (二) 入门程序
一、准备环境(我的demo数据如下) 1、创建数据。 CREATE DATABASE my_db; CREATE TABLE user( id INT(11) PRIMARY KEY AUTO_INCREMENT, parentId INT(11), sonId INT(11), name VAR原创 2017-02-08 23:29:06 · 275 阅读 · 0 评论 -
MyBatis(三) 简单的 CRUD
写好了前面的入门程序,现在我们来开始写简单的 增删改查: 添加用户前面已经写了,下面为了测试我们就多插入几条数据。 进入正题 1、’删’ ‘改’ ‘查’ 用户,首先在原来的 User.xml 表中添加下面的 代码: 注意事项: - 这里需要说明的是:parameterType 代表传入参数类型,:resultType代表返回数据类型 - 如果修改需要传入多个参数时,可以传入一个对象作原创 2017-02-09 11:59:26 · 252 阅读 · 0 评论 -
MyBatis (四) 最佳实际
到看这里,现在在返回第一章,hibernate 和 mybatis的区别,是否感觉更加深刻了。下面我们进入我们本章的重点: mybatis 实际应用中按照下面的4个步骤: - 创建实体对象 (User.java) - 创建操作数据库接口 (UserDao.java) - 用mapper 完成接口实现 (UserDao.xml) 重点 - 配置映射文件包(在mybatis-con原创 2017-02-09 13:01:42 · 555 阅读 · 0 评论 -
Mybatis(五) resultType 多表查询 (包装类)
查看这张时必须有上一张的基础这里使用了包装类,将多个表查询数来的复杂结果存储在包装类中返回回来CREATE DATABASE my_db;CREATE TABLE user( id INT(11) PRIMARY KEY AUTO_INCREMENT, parentId INT(11), sonId INT(11), name VARC原创 2017-02-09 18:40:24 · 7782 阅读 · 0 评论 -
MyBatis(六) resultMap 多表查询 之(一)
resultMap 用于映射 对象关系的 时使用。 对照对象的属性可以很方便的写出 mapper.xml 映射文件。下面用一个例子来再次说明resultMap 的映射过程。 场景如下: 需要查询 多个用户,当点击查看是可以查看他的所有的订单,点击订单时可以查看里面的商品如果要完成这个需求,对应的实体对象如下:对象结构Order//订单类 |--int id |--in原创 2017-02-09 20:34:51 · 7100 阅读 · 0 评论 -
MyBatis(七) resultMap 多表查询 之(二)
下面来点更复杂的: 添加订单详细表: CREATE TABLE detail( id INT PRIMARY KEY AUTO_INCREMENT, goodsId INT, num INT, orderId INT )DEFAULT CHARSET=utf8;插入几条数据: 注意orderId原创 2017-02-09 21:49:35 · 1256 阅读 · 0 评论 -
MyBatis(一) 为什么使用框架。
一、传统jdbc 的问题。1、数据库没有连接池,每次请求都会重新创建。mybatis:使用线程池2、sql语句是写死在代码中,不利于代码维护。mybatis:在xml中配置3、preparedStatement 中的设置的参数也是写的死,同样不利于维护。mybatis:在xml中配置4、数据从数据库获取后,读取方式同样是写死的。mybatis:自动映射。二、MyBatis和 hiberna原创 2017-02-08 14:14:18 · 3112 阅读 · 0 评论