mybatis
DencyCheng
这个作者很懒,什么都没留下…
展开
-
mybatis中jdbctype与java类型映射
类型处理器(typeHandlers)MyBatis 在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时, 都会用类型处理器将获取到的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。提示从 3.4.5 开始,MyBatis 默认支持 JSR-310(日期和时间 API) 。类型处理器 Java 类型 JDBC 类型 BooleanTypeHandler java.lang.Boolean,boolean 数..原创 2020-12-16 11:28:14 · 992 阅读 · 0 评论 -
MyBatis 中#{}和${}区别
#{}是预编译处理,像传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号)${}就是字符串替换。直接替换掉占位符。$方式一般用于传入数据库对象,例如传入表名.使用 ${} 的话会导致 sql 注入。什么是 SQL 注入呢?比如 select * from user where id = ${value}value 应该是一个数值吧。然后如果对方传过来的是 001 and name = tom。这样不就相当于多加了一个条件嘛?把SQL语句直接...原创 2020-12-16 11:15:21 · 191 阅读 · 0 评论 -
mybatis中 <set>标签
中文文档:https://mybatis.org/mybatis-3/zh/dynamic-sql.html用于动态更新语句的类似解决方案叫做set。set元素可以用于动态包含需要更新的列,忽略其它不更新的列。比如:<update id="updateAuthorIfNecessary"> update Author <set> <if test="username != null">username=#{username},&l...原创 2020-12-08 17:20:31 · 17926 阅读 · 5 评论 -
mybatis中 <where>标签
中文文档:https://mybatis.org/mybatis-3/zh/dynamic-sql.html1.如果不使用where标签如果没用where标签的话,我们在写动态sql的时候可能需要这样:SELECT * FROM users WHERE 1 = 1 <if test="id != null"> and id = #{id} </if>2.使用where官方解释:where元素只会在子元素返回任何内容的情况下才插入 “WH..原创 2020-12-08 17:04:54 · 2008 阅读 · 0 评论 -
5.Mybatis中万能的Map
假设,我们将来的实体类中,或者数据库中的表字段过多。还有就是在关联查询中可以使用Map快速的返回想要的对象集合。我们应当考虑使用Map!1.map作为查询参数user表-- auto-generated definitioncreate table user( id int(20) auto_increment primary key, name varchar(30) null, pwd varchar(30) null);o..原创 2020-11-15 21:09:58 · 432 阅读 · 0 评论 -
4.Mybatis增删改查的简单实现
1.namespacenamespace中的包名要和 mapper 接口名一致!2.select选择,查询语句;id : 就是对应的namespace中的方法名 resultType : sql语句执行返回值的类型 parameterType : 参数类型1.编写接口 /** * 调用xml方式 * @param id * @return */ public User selectUserForXml(Integer id);原创 2020-11-15 19:28:14 · 157 阅读 · 0 评论 -
3.Mybatis-select标签
XML 映射器MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):cache– 该命名空间的缓存配置。 cache-ref– 引用其它命名空间的缓存配置。 resultMap– 描述如何从数据库结果...原创 2020-11-13 13:37:50 · 536 阅读 · 0 评论 -
2.第一个简单的Mybatis程序
1.第一个Mybatis程序思路:搭建环境-》导入Mybatis-》编写代码-》测试!1.1搭建环境创建数据库mybatis-study创建表user-- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(20) NOT NULL AUT原创 2020-11-12 15:28:10 · 216 阅读 · 0 评论 -
1.什么是mybatis
1 简介1.1什么是MybatisMyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache soft.原创 2020-11-09 22:02:53 · 958 阅读 · 0 评论 -
mysql查询当月内数据
SELECT *FROM table_nameWHERE DATE_FORMAT(NOW(), '%Y%m') = DATE_FORMAT(createTime, '%Y%m')原创 2018-12-24 11:04:24 · 1650 阅读 · 2 评论 -
mybatis 批量更新问题
记录一下困扰自己一天的问题在使用mybatis批量更新时,sql报错,但是在sql语法没问题 <update id="batchUpdate" parameterType="java.util.List"> <foreach collection="list" separator=";" item="item">原创 2018-08-19 14:23:06 · 257 阅读 · 0 评论