
MyBatis
文章平均质量分 82
myBatis知识
H_H;
努力
展开
-
mybatis分页插件
*注意:**在执行DQL语句前一定要开启分页插件。在查询语句执行后分装pageInfo对象。原创 2023-06-24 15:40:07 · 117 阅读 · 0 评论 -
mybatis逆向工程
所谓的逆向⼯程是:根据数据库表逆向⽣成Java的pojo类,SqlMapper.xml⽂件,以及Mapper接⼝类等。要完成这个⼯作,需要借助别⼈写好的逆向⼯程插件。思考:使⽤这个插件的话,需要给这个插件配置哪些信息?● pojo类名、包名以及⽣成位置。● SqlMapper.xml⽂件名以及⽣成位置。● Mapper接⼝名以及⽣成位置。● 连接数据库的信息。● 指定哪些表参与逆向⼯程。原创 2023-06-23 22:51:45 · 298 阅读 · 0 评论 -
mybaits的缓存机制
演示:[1] 这里使用了同一个sqlSession运行同一个SQL语句。这就体现了mybatis一级缓存是在sqlSession中存放的。【2】 这里使用不同sqlSession运行同一个SQL语句。第一次DQL和第二次DQL之前做了一下两件事中的任意一种。原创 2023-06-21 15:31:49 · 106 阅读 · 0 评论 -
Mybatis高级映射之一对多
【代码】Mybatis小计——高级映射之一对多。原创 2023-06-18 18:10:08 · 158 阅读 · 0 评论 -
mybatis高级映射之多对一
ClazzMapper 因为步骤二是根据步骤一查出来的cid来获取clazz信息,所以本质是查询clazz信息的,所以要在clazzMapper中定义方法。**注意:**如果在项目中遇到某一条sql,业务需求,不让他使用延迟加载,那就使用。主表,副标怎么区分,谁在前谁就是主表,多对一,多的这个表就是主表。显而易见,开启延迟加载后,用到的时候才进行加载,不用的时候不加载。我们在上面的分布查询代码的基础上,我们只需要获取学生的姓名,例如:多个学生对应一个班级,学生表就是主表,班级表就是副表。原创 2023-06-18 17:48:36 · 331 阅读 · 0 评论 -
动态SQL(各类标签的使用)
需求:先根据姓查,姓为null就根据age查,age为null就根据sex查。如何在都是null的条件下不拼接where子句呢,使用where标签。我们的要求是根据ID修改数据表中的记录,不想修改的字段的值为null,**注意:**这里传参数的时候,要使用集合中的元素调用字段来进行赋值,因为集合中元素都是User对象,所以这里item的值就是user对象。这里是想将id为13的数据的age和sex属性修改为 21 和 男。违背了我们的要求,那应该怎么解决呢?创建的对象添加到集合中,再将集合传入方法中。原创 2023-06-16 17:23:19 · 837 阅读 · 0 评论 -
Mybatis传参问题
接口中的方法的参数是一个Map集合类型,并且在测试程序中创建一个Map集合,往map集合中传入Key和Value,使用了@param注解就要在xml文件中设置的参数和@param注解中value的值相同。因为使用mybatis底层提供的参数 arg0 或者 param1可读性差。其中的value属性就是告诉mybatis传入的参数的名字为。如果使用了@param注解,mybatis底层就会变成。使用@param注解可以解决这个问题。中的参数是Map集合中的key的值。该注解还有一个value属性。原创 2023-06-09 21:43:27 · 177 阅读 · 1 评论 -
Mybatis小记——使用时的小tips
#{}和${}的区别用法,起别名机制,引入XXXMapper.xml文件的方法原创 2023-06-06 23:01:34 · 131 阅读 · 0 评论 -
mybatis问题小计——传入参数报错(Not Found)
因为我传入的参数不是一个Javabean,没有对应的getter方法能调用。而且,我传入的参数不止一个,满足了。提示信息说【arg0 arg1 param1 param2】可以用,我把sc改为arg1,运行,在一次报错说找不到sortBy了,怎么回事,传入一个参数的时侯就能找到?我想传入排序方式和根据什么字段来排序,运行时总说找不到sc这个字段。如果传入的参数不是一个 Java Bean, 并且参数数量是一个,将传入的参数的名称改为arg0,arg1问题解决。如果传入的参数是一个 Java Bean。原创 2023-06-03 16:17:30 · 417 阅读 · 0 评论 -
mybatis小记——XXXMapper.xml文件详解
namespace(命名空间) 它的作用是,当有多个XXXMapper.xml文件时,难免会产生相同id的SQL语句,所以当在id相同时怎样来区分到底是用的哪一个Mapper.xml文件的SQL呢?这时,mybatis就会自动将查询到的结果封装为User对象返回。这是在查询后返回值自动封装成resultType指定的类对象。只需要设置一个不同的namespace属性,原创 2023-06-02 22:11:19 · 331 阅读 · 0 评论 -
Mybatis小记——使用mybatis完成CRUD操作
insert有两种方式,一种不使用Pojo类,逐个传入参数。需要用到Map集合,将要传入的参数封装到集合中,然后将这个集合对象传入insert方法中。在使用mybatis实现CRUD操作前,先创建一个工具类,这个工具类可以直接获取SqlSession对象。也可以使用pojo类进行传参。原创 2023-05-31 23:25:55 · 130 阅读 · 0 评论 -
MyBatis小记--核心配置文件详解
其中default这个属性的值为environment标签的id,代表的是使用对应id的环境,在Java程序中未指定环境id时,默认使用dafault所代表的环境。mybatis提供了更加灵活的配置,连接数据库的信息可以单独写到⼀个属性资源⽂件中,假设在类的根路径下创建jdbc.properties⽂件,这样一来就可以将dataSource标签中的信息使用properties配置文件中的键值对进行代替,方便数据源的管理。- 对于我们当前的单纯的只有mybatis的情况下,如果配置为:MANAGED。原创 2023-05-27 23:14:20 · 75 阅读 · 0 评论 -
MyBatis小记--入门实例程序
优点:采用这种方式,从类路径当中加载资源,项目的移植性很强。这个文件名也不是固定的,放的位置也不是固定,我们这里给它起个名字,叫做:CarMapper.xml 把它暂时放到类的根路径下。小技巧:以后凡是遇到resource这个单词,大部分情况下,这种加载资源的方式就是从类 的根路径下开始加载。编写MyBatis程序。(使用mybatis的类库,编写mybatis程序,连接数据库,做增删改查就行了。第二:这个文件存放的位置也不是固定的,可以随意,但一般情况下,会放到类的根路径下。,可以用其他的名字。原创 2023-05-22 22:38:13 · 98 阅读 · 0 评论