
Mybatis
Thexin.
不愿付诸行动,却又想登峰造极。
展开
-
insert和insertSelective区别
在数据库中给一些字段设置了默认值调用mybatis逆向工程生成的insert方法保存时并没有给这些字段传值,insert的结果却是这些字段的值依旧为null之后查看源码发现insert方法会给所有字段赋一次值,因此即便未传该字段的值,也会给该字段赋值,并且赋了空值调用insertSelective方法可以避免这个问题,insertSelective只给有接收到参数的字段进行赋值...原创 2020-08-10 11:54:31 · 306 阅读 · 0 评论 -
selectByExample和selectByExampleWithBLOBs的区别
1、问题描述: 在mybatis逆向工程生成的代码中会有selectByExample 和selectByExampleWithBLOBs 两个方法,这个两个方法有何区别?2、问题解析:1>两个方法的返回的resultMap 不同selectByExample 方法返回:BaseResultMapselectByExampleWithBLOBs 方法返回:ResultMapWithBLOBsResultMapWithBLOBs 定义时,继承了BaseResult...原创 2020-08-06 14:58:47 · 2131 阅读 · 0 评论 -
Mybatis中example的使用
Mybatis有很简单的方式来完成sql语句的编写如下:int id = 2;ClusterExample ClusterExample = new ClusterExample();ClusterExample.Criteria criteria = ClusterExample.createCriteria();//增加条件,对应为where,下面这行代码可以理解为where id = 2criteria.andIdEqualTo(id);//下面语句可以理解为select * from.原创 2020-08-06 14:59:54 · 369 阅读 · 0 评论 -
动态输入参数
<select id="queryUserBySQLTag" resultType="org.entity.user" parameterType="org.entity.user"> select usename ,type,gender from user where <if test="usename!=null"> ...原创 2019-12-15 16:02:31 · 175 阅读 · 0 评论 -
输出参数
输出参数为resultType1.简单类型(8个基本类型+String)2.输出参数为实体对象类型3. 输出参数为实体对象类型的集合:虽然输出类型是集合,但是resultType依然写集合的元素类型4. 输出参数类型为HashMapHashMap本身是一个集合,可以存放多个元素,但是根据提示发现,返回值为HashMap时,查询的结果只能是1个元素(key,value)---...原创 2019-12-15 15:08:17 · 557 阅读 · 0 评论 -
配置信息的优化,类型转换器
1.优化:可以将配置信息单独放入db.properties中,然后再动态引入db.properties:k=v<configuration> <properties resource="db.properties"/>引入之后,使用${key}2.MyBatis全局参数在<configuration>里面添加<se...原创 2019-12-13 17:52:47 · 114 阅读 · 0 评论 -
statement的增删改查和动态的增删改查
一 statement的crud:mybatis约定:输入参数parameterType和输出参数resultType,在形式上都只能有一个如果输入参数:是简单类型(8个基本类型+String),则可以使用任何占位符,#{xxx}如果是对象类型,则只能写属性名#{属性名}输出参数:如果返回值类型是一个对象(例如:user),则无论返回一个还是返回多个resultType的写...原创 2019-12-13 15:09:56 · 258 阅读 · 0 评论 -
MyBatis的配置
dao层的操作太麻烦jdbc 连接数据库,释放空间什么的太烦了,为了简化,引入了MyBatisMabatis可以简化JDBC操作,实现数据的持久化Mabatis是一个ORM产品 ORM:Object Relational Mapping eg: person对象 p...原创 2019-12-12 11:58:08 · 108 阅读 · 0 评论