Mybatis 的强大之处之一体现在映射语句上,让我们可以使用简单的配置,就可以实现对参数和返回结果的映射。 实体 // com.test @Data public class User{ private String userId; private String userName; private String userPassword; private Date createTime; } DAO public interface UserMapper{ User getUserById(String user…

2021年9月20日 0条评论 1点热度 阅读全文

1、mysql写法 IFNULL(p1,p2),如果p1有值就是p1,如果p1是空,则值为p2 <insert id="insertForeach" parameterType="java.util.List" > insert into user_message ( skip_id ) values <foreach collection="list" item="userMessage" index="index" separator=","> ( ifnull(#{userMessag…

2021年9月20日 0条评论 0点热度 阅读全文

程序运行时,mybatis的加载运行过程如上。 SqlSessionFactoryBuilder 从xml配置文件中加载配置参数,用于创建一个SqlSessionFactory工厂。之后程序与之打交道的只有SqlSessionFactory 和 SqlSession,因此这个工厂建造者不用给太长的生命周期、太大的作用域。 它的生命周期只有在创建SqlSessionFactory工厂时需要,创建完工厂之后可以立即失效(局部变量) SqlSessionFactory SqlSessionFacory给我的理解就是一个数…

2021年4月23日 0条评论 22点热度 阅读全文

MyBatis主要类介绍 Resources : mybatis中的一个类,负责主配置文件的读取 InputStream in = Resources.getResourceAsStream(config); sqlSessionFactoryBuilder : 创建sqlSessionFactory对象 //3.创建SqlSessionFactoryBuilder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //4.创建Sq…

2021年4月14日 0条评论 19点热度 阅读全文

Mybatis mybatis的三种配置方式: 1. 纯xml:要求namespace+id在整个项目中唯一即可 使用SqlSession即可完成所有的crud功能 2. xml + 接口的方式,要求namespace必须为接口的全路径,id必须为接口中的方法名 使用SqlSession对象的getMapper(Dao的类对象)来得到一个Dao的实例对象 使用dao的实例对象来调用接口中的所有方法来完成crud功能 3. 纯注解方式,接口的方法之上直接注入sql语句 使用SqlSession对象的getMapper…

2021年4月13日 0条评论 19点热度 阅读全文

CRUD增删改查 一、增加用户(增) 二、删除用户(删) 三、修改用户(改) 四、按条件查找(查) 模糊查询 根据用户的id查询 查询返回一行一列(使用聚合函数) ———————— 创作不易,如觉不错,随手点赞,谢谢~~ 一、增加用户(增) 直接看图片吧 运行测试方法 我们打开我们的数据库,发现插入的数据它是乱码的 这个我们的解决方法是,在我们的SQLMapConfig.XML配置文件里面加上?characterEncoding=utf8 这个时候我们再运行我们的测试方法,发现数据已经不乱码了 二、删除用户(删) …

2021年4月12日 0条评论 29点热度 阅读全文

choose (when, otherwise)标签 有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。而使用if标签时,只要test中的表达式为 true,就会执行 if 标签中的条件。MyBatis 提供了 choose 元素。if标签是与(and)的关系,而 choose 是或(or)的关系。 choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的sql。…

2021年1月15日 0条评论 45点热度 阅读全文

话不多说,直接上图 useGeneratedKeys这个只在insert语句中有效,正常情况下useGeneratedKeys默认为false 当useGeneratedKeys为true时,如果插入的表id以自增列为主键时,将会把该自增id返回。 数据插入之后可以直接通过对象获取自增的id

2021年1月15日 0条评论 39点热度 阅读全文

参考: https://www.cnblogs.com/seeusmile-cnblog/p/6221340.html https://www.cnblogs.com/huzi007/p/5969711.html 方式一: mybatis更新sql语句: <update id="publishT00_notice" parameterType="Map"> update test set createdate = #{createdate}, creator = #{creator} where id …

2021年1月15日 0条评论 38点热度 阅读全文

我是新来的,现在我一个人搞了Spring项目。它可以工作,并且“选择”是可以的。但是,当我“插入”时,Eclipse控制台将显示以下内容: 20190914:20:45:50.052 [http-nio-8080-exec-3] DEBUG Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2f70fe8] 20190914:20:45:50.053 [http-nio-8080-exec…

2020年11月29日 0条评论 30点热度 阅读全文