mybatis框架
鑫爵
这个作者很懒,什么都没留下…
展开
-
mybatis中设置别名的几种方式及其优先级
在配置文件中配置方式一:配置单个类的别名 type属性中的是类的全类名,alias是类的别名<typeAliases> <typeAlias type="com.zmx.pojo.User" alias="user"/></typeAliases>方式二:扫描整个包中的所有实体类,扫描到的所有实体类的别名是使用类的非大写限定类名注册为别名。(...原创 2019-10-12 22:34:30 · 1058 阅读 · 0 评论 -
mybatis核心配置文件中的properties引入的外部属性文件与内部的property文件的优先级
今天发现一个问题,在mybatis中引入的外部属性文件和properties中配置的属性谁的优先级高?于是我做了测试。首先在src目录下新建了一个jdbc.properties属性文件,配置如下:username=rootpassword=123mybatis核心配置文件:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE...原创 2019-10-12 22:06:05 · 390 阅读 · 0 评论 -
mybatis核心配置文件详解
mybatis核心配置信息必须严格按照格式标准进行配置配置名称配置含义配置简介configuration包裹所有配置文件整个配置文件的顶级标签properties属性该标签可以引入外部配置的属性,也可以自己配置。该配置标签所在的同一个配置文件均可引用此配置中的属性setting全局配置参数用来配置一些改变运行时行为的信息,例如是否使用缓存机制,是否使...原创 2019-09-10 14:58:27 · 5934 阅读 · 0 评论 -
在Mybatis中一个方法返回的是一个对象的list集合的时候,ResultType不是写集合的别名,而是集合中保存的对象名
查询语句大多时候都会返回一个对象的集合,可以是多个对象也可以是0个对象,都可以封装成一个列表,所以重要的还是列表中存储的对象的别名。若select id=“getAllUser” resultType=“list”,那是不是可以往里放任何值呢?先放个Integer,再放个Object,后放个String,哪这个List T是什么类型呢?这样就解释不通了,所以当返回的是list集合的时候,我们应该...原创 2019-09-10 14:02:11 · 5319 阅读 · 0 评论 -
mybatis下载
链接:https://pan.baidu.com/s/1FtIfuOhc_SC3RvUyGWAahw提取码:sik9原创 2019-09-09 21:23:44 · 183 阅读 · 1 评论 -
mybatis中的一对多关系
表与表之间的关系有一对一,一对多(多对一),多对多等等,我们今天来讲一下表与表的最常见的一种关系,即一对多关系。废话少说,直接上代码,已知一个用户对应多个联系人,但是一个联系人只能有一个用户。首先,建表:user表linkman表并且在多的一方设置外键做到这里表的结构就完成了第二步,建立实体类User.java和LinkMan.javaUser.javapublic cla...原创 2019-08-15 21:18:43 · 231 阅读 · 0 评论 -
mybatis中的动态SQL
动态SQL的基本元素:if:单条件分支判断choose,when,otherwise:多条件分支判断trim,set,where:用于处理SQL拼装问题foreach:循环语句bind:定义一个上下文变量test:用于判断条件是否成立if条件判断语句:当角色名称不为空时,根据角色名称查找对象<resultMap id="roleResultMap" type="com.ssm...原创 2019-08-14 22:35:49 · 133 阅读 · 0 评论 -
mybatis关于出现Parameter 'noList' not found. Available parameters are [collection, list]问题的解决方案
当我们要查询一些人的信息时,但这些人的id是由用户确定的,就会采用list集合或者数组作为参数传入方法中,public List findSomeUsers(List noList);而在xml文件中就可以用佛reach动态SQL解决<select id="findSomeUsers" resultType="user3" parameterType="list"> sel...原创 2019-08-10 17:45:48 · 22575 阅读 · 1 评论 -
为什么在动态SQL中where条件判断的时候后面跟上and不会报错
假如现在我们要查询一个姓张的且名字大于25的人:xml中的写法select <include refid="userCols" /> from user<where> <if test="name != null and name != ''"> and name like concat(#{name}, '%') </if> &...原创 2019-08-10 16:49:41 · 7020 阅读 · 1 评论 -
在mybatis中怎么表示大于和小于
当我们要查询一个姓张的且年龄大于25的人群时:xml中的写法<where> <if test="name != null and name != ''"> and name like concat(#{name}, '%') </if> <if test="age != null and age != ''"> and age ...原创 2019-08-10 16:38:49 · 500 阅读 · 0 评论 -
mybatis测试动态SQL时出现There is no getter for property named ... in 'class java.lang.String'
出现错误的代码:想测试的方法:public List findUsersByName(String name);在xml文件中编写的代码<resultMap type="user3" id="userMap"> <id property="id" column="id" /> <result property="name" column="name...原创 2019-08-10 15:46:50 · 627 阅读 · 0 评论 -
在mybatis中引入C3P0连接池
首先,要导包:c3p0-0.9.2.1.jar(c3p0核心包)mchange-commons-java-0.2.3.4.jar(c3p0数据库连接池的辅助包,没有这个包系统启动的时候会报classnotfoundexception,这是c3p0-0.9.2版本后分离出来的包,0.9.1的时候还是一个包就搞定的)mysql-connector-java-5.1.7-bin.jar(mysql...原创 2019-08-14 16:40:57 · 1014 阅读 · 0 评论 -
mybatis中自定义主键规则
有些时候注解可能依赖某些规则,比如取消user表的递增规则,而将其规则改为:当用户表为空时,id设置为1当用户表不为空时,id设置为当前最大id加3mybatis对这样的场景也提供了支持,它主要依赖于selectKey元素<insert id="addUser" parameterType="user" useGeneratedKeys="true" keyProperty="id"...原创 2019-08-14 08:06:40 · 2143 阅读 · 0 评论 -
mybatis中如何在插入一条记录的同时获取id值
废话少说,直接上代码1.UserMapper.java(接口方法)public void addUser(User user);2.UserMapper.xml(接口方法映射)<insert id="addUser" parameterType="user"> insert into user(name, age) values(#{name}, #{age})<...原创 2019-08-14 07:46:42 · 2913 阅读 · 0 评论 -
mybatis中内置处理分页的类-RowBounds的使用
mybatis不仅支持分页,它还内置了一个专门处理分页的类-RowBounds。下面详细讲一个根据姓名模糊查询,并且将结果分页显示实例:1.UserMapper.java(方法接口)public List<User> findByRowBounds(@Param("name") String name, RowBounds rowBounds);2.UserMap...原创 2019-08-14 07:27:58 · 409 阅读 · 0 评论 -
mybatis中如何在一个方法中传递多个参数
这里着重介绍两种方式,一种是注解方式,另一种是javabean模式1.注解方式:方法:public List<User> findByAnnotation(@Param("name") String name, @Param("age") int age);映射文件:<select id="findByAnnotation" resultType="user">...原创 2019-08-13 23:02:45 · 327 阅读 · 0 评论 -
mybatis配置文件中全局settings的配置样例
<!-- 全局settings的配置样例 --> <settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> <setting name="multipleResultSetsEna...原创 2019-08-09 13:15:48 · 1052 阅读 · 0 评论 -
Mybatis中的引入数据库全局变量的三种方式
平时我们在mybatis配置文件中引入数据库全局参数的方式,都是在mybatis中直接定义,即:<!-- 数据库环境 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> ...原创 2019-08-09 13:00:09 · 1508 阅读 · 0 评论 -
第一天学习mybatis,写的一个简单的增删改查的案例
1.数据库设计1.1在数据库中创建一个新的数据库ssm,建一个user表(表结构如下)1.2向表中插入数据2.代码设计2.1在工程目录下创建文件com.zmx.domain下的User.java是实体类com.zmx.main下的Test1是测试类com.zmx.mapper下的UserMapper是接口,userMapper是接口的映射文件com.zmx.util下的Sql...原创 2019-08-09 11:55:24 · 147 阅读 · 0 评论