mybatis
mybatis java常用的ORM 半自动化的开发框架,用于和数据库交互,简化了数据库与java应用的交互。丰富的功能,可以手动书写的灵活sql.
Slient-猿
java,spring,搜索,分布式,vue,mybatis,tomcat,nginx,web 安全 waf等相关技术
展开
-
allowMultiQueries 设置为true不生效问题
因为之前项目在啊做分页查询时用到allowMultiQueries,在一个select标签下一次执行两次查询,一次查数据,一次查总数,避免了多次查询操作 这次在设置了allowMultiQueries=true 的情况下,始终得不到两个查询的结果,每次只有一个查询的结果。 研究了很久,最后发现是因为版本问题。而且测试方法不正确。 使用mysql版本5.7,mysql-connector-java版本原来是5.1.6 后来改为5.1.45才可以。<dependency> <g原创 2020-09-08 16:47:01 · 9603 阅读 · 0 评论 -
tk.mybatis.mapper.provider.EmptyProvider中缺少insertListNotUseGeneratedKey方法!
开发中遇到的一个异常: 产生的异常: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property ‘properties’ threw exception; nested exception is tk.mybatis.mapper.MapperException: tk.my...原创 2018-07-06 16:55:00 · 1714 阅读 · 1 评论 -
mybatis 源码分析之执行sql
mabatis 如何解析mapper.xml文件里的if等标签,生成执行语句?设置参数? 下面通过跟踪源码我们来查看下具体是如何执行。 这里我们可以看到我们的mapper接口是通过MapperProxy 生成的代理对象进行调用的。即诸如的是一个动态代理对象。 public class MapperProxy<T> implements InvocationHandle...原创 2020-03-20 16:49:51 · 176 阅读 · 0 评论 -
mybatis 源码分析之 解析mapper.xml文件
mybatis 是如何解析我们定义的mapper.xml文件?解析后如何存储?存在哪里? 想要解析必然先找到mapper.xml文件,mapperLocations 就是通过读取我们的配置获取到的xml Resource数组。 private Resource[] mapperLocations;mybatis.mapper-locations=classpath:/mapper/*...原创 2020-03-17 18:25:37 · 1415 阅读 · 2 评论 -
MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException
mybatis批量插入异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'list2' not found. Available parameters are [collection, list] 异常的原...原创 2020-03-16 18:29:40 · 824 阅读 · 0 评论 -
mybatis generator 生成实体类,mapper,dao,mappering
下载Mybatis-Generator 包,或者使用maven配置引入jar包,https://github.com/mybatis/generator/releases本次生成mysql的相关类,所以下载一个mysqljar包,maven引入如下, &lt;dependency&gt; &lt;groupId&gt;mysql&lt;/groupId&gt; ...原创 2018-06-30 11:28:33 · 172 阅读 · 0 评论 -
mybatis insert 返回主键
插入后需要返回自增的主键,以便后续的操作。<insert id="insert" parameterType="Student" useGeneratedKeys="true" keyProperty="id"> insert into Student(name, age) values(#{name}, #{age})</insert>在insert 语句上原创 2019-02-21 14:22:40 · 130 阅读 · 0 评论 -
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax
在使用FOUND_ROWS() 进行一次查询出分页的列表和总条数的过程中,出现如下错误。 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server ...原创 2019-02-25 13:45:51 · 1558 阅读 · 0 评论 -
mybatis 防注入之 # 和$
$ 在mapper的xml文件里相当于字符连接符。 # 则是参数形式的入参。 如果A=“test”,语句 select * from a where name=${A} 则其动态语句为select * from a where name=“test” 如果是#{A},则其动态语句为select * from a where name=? 这样看来使用#可以避免sql注入风险...原创 2019-03-26 16:18:52 · 207 阅读 · 0 评论