mybits配置
链接:https://pan.baidu.com/s/11-oQZgSosdcvUiEMxmRMkA?pwd=msdt
提取码:msdt
![6daa7e673d972cdd3a904b3bc10d63ee](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\6daa7e673d972cdd3a904b3bc10d63ee.png)
Mybits入门
1.mybits使用
1.创建工程
2.导入依赖
3.创建配置文件
![ec41d091b4bce7c755be59a726a2b433](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\ec41d091b4bce7c755be59a726a2b433.png)
mybatis默认使用log4j作为输出日志信息
4.SqlMapConfig.xml
在classpath下创建SqlMapConfig.xml
![8bf9ce528f5f925dcf5c015344ca832f](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\8bf9ce528f5f925dcf5c015344ca832f.png)
SqlMapConfig.xml是mybatis核心配置文件,上边文件的配置内容为数据源、事务管理
![46c9acc78e0d536ff75edb83b7f397f1](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\46c9acc78e0d536ff75edb83b7f397f1.png)
--sql已经编写--
加载映射文件
![9578b57a859e923c746a85e5941270db](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\9578b57a859e923c746a85e5941270db.png)
SQL使用代码
![ed2fb158888bd7c154807678359b9d05](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\ed2fb158888bd7c154807678359b9d05.png)
![1fea117e1a3268bef486542e61dab633](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\1fea117e1a3268bef486542e61dab633.png)
使用sql语句
![e96396142bcce4f8ef04fe8eb8ed7d95](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\e96396142bcce4f8ef04fe8eb8ed7d95.png)
![47c013d82e7c992de88a96a5c72a8776](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\47c013d82e7c992de88a96a5c72a8776.png)
如上mybits-帮我们简化了链接的创建和sql语句的生成
如图->想执行sql->会话工厂->给予一个会话
2.占位符
{} 实现向占位符添加值-自动进行java类型和jdbc类型转换-可以防止sql注入-可接收简单类型值和pojo属性值
¥s{}拼接sql传=不进行类型转换=
3.parameterType-resultType
parameterType-传入的参数类型
resultType返回值类型
4..selectOne和selectList
selectOne查询一条记录
selectList查询多条记录
5.mybits-主键添加
![3f2a7da3c2707062c15cbbfc7c5f51f9](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\3f2a7da3c2707062c15cbbfc7c5f51f9.png)
使用
SqlSession.insert("test.insertUser",user);
selectkey->select Last_INSERT_ID--用户添加后自动返回主键-
uuid生成主键
![69eddd3b9e877d74e91d107aad7b6940](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\69eddd3b9e877d74e91d107aad7b6940.png)
6.mybits-删除
![f16033409c2f9eb00418ede68cffc228](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\f16033409c2f9eb00418ede68cffc228.png)
sqlSession.delete("test.deleteUser",39);
7.mybiits->更新用户
![95864300169e8c1df1b79f4d0102505e](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\95864300169e8c1df1b79f4d0102505e.png)
sqlSession.update("test.updateUser",user);
mybits-Dao开发
1.Dao开发配置入门
![61928ee9fd81bc3528cdddda96a0d8be](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\61928ee9fd81bc3528cdddda96a0d8be.png)
![a59f5c6efc930fdf24b4753e2d6c0165](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\a59f5c6efc930fdf24b4753e2d6c0165.png)
![e8f73ed7437e15b3fd61ff570da0b265](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\e8f73ed7437e15b3fd61ff570da0b265.png)
![8f89faf38a206b6547777bbea1aa5e14](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\8f89faf38a206b6547777bbea1aa5e14.png)
![d751486c93be306c26947fa45914c821](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\d751486c93be306c26947fa45914c821.png)
dao层面-有非常多的重复代码-比如释放资源-拿取selSession-
2.Mapper开发
mapper代理方法(程序员只需要mapper接口(相当 于dao接口))
程序员编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。
![a8d02d56bb89ffa8d43fd55385bb115a](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\a8d02d56bb89ffa8d43fd55385bb115a.png)
需要一一对应进行映射
也就是mapper-函数映射到xml文件中--需要进行一一对应
3.mapper代理
xml定义
![ab74d1f694af3fb743e294f135a4041a](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\ab74d1f694af3fb743e294f135a4041a.png)
![5eea9b8887ac8e1894fd8520adf4dcec](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\5eea9b8887ac8e1894fd8520adf4dcec.png)
加载
![922160ede6004b8fb5aea389641d68c2](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\922160ede6004b8fb5aea389641d68c2.png)
![45e07e2b4ddd60cd021dcc2f31c066c8](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\45e07e2b4ddd60cd021dcc2f31c066c8.png)
---如图--userMapper-来调用方法0由sqlSession-来生成代理对象
代理对象内部调用selectOne或selectList
如果mapper方法返回单个pojo对象(非集合对象),代理对象内部通过selectOne查询数据库。
如果mapper方法返回集合对象,代理对象内部通过selectList查询数据库
mapper接口方法参数只能有一个,系统是否不利于扩展维护。
系统 框架中,dao层的代码是被业务层公用的。
即使mapper接口只有一个参数,可以使用包装类型的pojo满足不同的业务方法的需求。
注意:持久层方法的参数可以包装类型、map。。。,service方法中建议不要使用包装类型(不利于业务层的可扩展)。
4.l配置
SqlMapConfig.xm
![0a05192e83f10245208db8c09e74468f](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\0a05192e83f10245208db8c09e74468f.png)
properties属性
将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties
![5afb2ae748e665a0957970ae4a909e5d](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\5afb2ae748e665a0957970ae4a909e5d.png)
![2a29db16646c4c42d5d9896bd292741d](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\2a29db16646c4c42d5d9896bd292741d.png)
settings全局参数配置
![0070c06383100dde987ddc21ea4a4b3a](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\0070c06383100dde987ddc21ea4a4b3a.png)
![62169f009b19205c6220b75f7a4bcb5a](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\62169f009b19205c6220b75f7a4bcb5a.png)
类型别名
1.普通类型别名
如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
2.自定义别名
自定义别名-当我们参数的pojo大部分一致的时候 定义别名可以减少代码繁杂
![8e1d9343cb1eb8b59a484042657ed0f6](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\8e1d9343cb1eb8b59a484042657ed0f6.png)
![d7ae2a441a846072ed1c64575f9fa045](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\d7ae2a441a846072ed1c64575f9fa045.png)
批量别名-常用-扫描po文件 给所有pojo注册别名
3.mybits 类型处理器
typeHandlers
jdbc类型和java类型转换
例子
IntegerTypeHandler Integer,int 任何兼容的数字和整型
4. mappers 映射配置
-
通过resource加载单个映射文件
![982f90b2b3ead1f97c7560fa9326b4fe](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\982f90b2b3ead1f97c7560fa9326b4fe.png)
-
通过mapper接口加载单个mapper
![5c7c2136386dd9b06663cdf3631c412c](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\5c7c2136386dd9b06663cdf3631c412c.png)
按照上边的规范,将mapper.java和mapper.xml放在一个目录 ,且同名
![de35b2cb9ffb9c7af48ac36f9586f000](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\de35b2cb9ffb9c7af48ac36f9586f000.png)
3 . 批量加载mapper(推荐使用)
![3cc05d3339e8ebae691aaac0073392fa](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\3cc05d3339e8ebae691aaac0073392fa.png)
4.输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型
总结
![80e95beb88e2a055ee91e47d12c5bc6e](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\80e95beb88e2a055ee91e47d12c5bc6e.png)
![16e891a8f40288f28679241a5f4a6dd0](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\16e891a8f40288f28679241a5f4a6dd0.png)
![eec86ff7c8c1cc0c909076d9d0827b36](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\eec86ff7c8c1cc0c909076d9d0827b36.png)
Mybits高级
![3ec78fe0039ba4d7a0f0e93edde34ffd](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\3ec78fe0039ba4d7a0f0e93edde34ffd.png)
1.一对一查询
查询订单信息,关联查询创建订单的用户信息
sql语句
select orders.*, USER.username,
USER.sex,
USER.address FROM ORDERS,USER WHRE ORDERS.USER_ID=USER.ID;
select orders.*, USER.username,
USER.sex,
USER.address FROM ORDERS JOIN USER ON ORDERS.USER_ID=USER.ID;
实现该查询
1.创建pojo
2.mapper
<SELECT ID="FINDorderUser" resultType='pojo'>
select orders.*,user.username,user.sexmuser.address from orders,user WHRE ORDERS.USER_ID=USER.ID;
</lelect>
3.mapper.java
![5efc0b312fab4d35aa879dd46fae93a0](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\5efc0b312fab4d35aa879dd46fae93a0.png)
这个时候-只需要获取即可使用该sql语句
-- 使用resultMap映射的思路
使用resultMap将查询结果中的订单信息映射到Orders对象中,在orders类中添加User属性,将关联查询出来的用户信息映射到orders对象中的user属性中。
![f8a7cbf8b3875476e103b0733ac7f7f5](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\f8a7cbf8b3875476e103b0733ac7f7f5.png)
定义resultMap
![ee4c7227c01ec39fa1bfa811976628dc](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\ee4c7227c01ec39fa1bfa811976628dc.png)
S定义
![e92a4eb35812042de17a350aa5405bc7](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\e92a4eb35812042de17a350aa5405bc7.png)
![55906bbde71b042c14daf40325e2734a](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\55906bbde71b042c14daf40325e2734a.png)
2.一对多查询
查询订单及订单明细的信息。
SELECT
orders.*,
USER.username,
USER.sex,
USER.address,
orderdetail.id orderdetail_id,
orderdetail.items_id,
orderdetail.items_num,
orderdetail.orders_id
from
orders,
USER,
orderdetail
whrer
orders.user_id = user.id AND orderdetail.orders_id=orders.id
使用resultType将上边的 查询结果映射到pojo中,订单信息的就是重复
要求:
对orders映射不能出现重复记录。
![affb5c09f23f5c042208c4323940698f](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\affb5c09f23f5c042208c4323940698f.png)
![6c2accdfd7490aa05255bb2aaa6f9807](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\6c2accdfd7490aa05255bb2aaa6f9807.png)
![7c536bcee1988bbddfd784e6de1204ec](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\7c536bcee1988bbddfd784e6de1204ec.png)
map->映射关系
将数据库字段->对象的字段中
同时会指定映射的属性和集合中
![44c0fb3e4d6de667636651db0026ad85](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\44c0fb3e4d6de667636651db0026ad85.png)
![e59fc4b2bdacf3621426fec322ad24c3](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\e59fc4b2bdacf3621426fec322ad24c3.png)
3.多对多查询案例
查询主表是:用户表
关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:
orders、orderdetail、items
![5d503cb8e549dc16e9fb2f3d9f972be9](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\5d503cb8e549dc16e9fb2f3d9f972be9.png)
映射
![b4c9ea555f307b956af31dbce8415170](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\b4c9ea555f307b956af31dbce8415170.png)
![bb9ca63b64a989b5b020ebe231fb555d](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\bb9ca63b64a989b5b020ebe231fb555d.png)
![314f0ba042424242c4135b4302a65f13](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\314f0ba042424242c4135b4302a65f13.png)
resultmap总结
![863ba0486e9be85c0c64ea7eccdead9a](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\863ba0486e9be85c0c64ea7eccdead9a.png)
延迟加载
如果查询两张表-如果只需要查询一张表即可满足条件的情况下-那么就不需要查询下一章表
关联查询->单表查询
1.使用association实现延迟加载
查询订单并且关联查询用户信息
案例
![cf67701ceb62d4d73d31491daee4f282](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\cf67701ceb62d4d73d31491daee4f282.png)
<resultMap type="orders" id"map">
<!--对订单信息进行映射配置 -->
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="number" property="number"/>
<result column="createtime" property="createtime"/>
<result column="note" property="note"/>
<!-- 实现对用户信息进行延迟加载
select:指定延迟加载需要执行的statement的id(是根据user_id查询用户信息的statement)
要使用userMapper.xml中findUserById完成根据用户id(user_id)用户信息的查询,如果findUserById不在本mapper中需要前边加namespace
column:订单信息中关联用户信息查询的列,是user_id
<association property="user" javaType="user"
select="cn.itcast.mybatis.mapper.UserMapper.findUserById" column="user_id">
</association>
</resultMap>
![62a5de17ceb2efb1cb23ce43c27b6311](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\62a5de17ceb2efb1cb23ce43c27b6311.png)
![83717cda1037366a4cc5b930afeefd1d](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\83717cda1037366a4cc5b930afeefd1d.png)
也就是-我们编译器没有访问到user内容就不会去加载吗 2.延迟加载配置
mybits默认没有开启延迟加载-需要自己手动开启
![img](file:///G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\f3055bee2e2c581a6d17f4c89b04fb4c.png)
3.
![img](file:///G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\41591507899361a44254c502150f44f5.png)
缓存
1.一级缓存
第一层查询-如果没有-从数据库查 再添加进缓存中
sqlSession去执行增删改-清空一级缓存
2次发起->缓存有直接返回
redis缓存思路
mybits默认支持一级缓存
Sqlsession sqlsession=sqlsessionfactry.ioensession();
UserMapper userMapper=sqlsession.getMapper(usermapper.class);
User user=usermapper.finduserbyid(1);第一层查询-如果没有-从数据库查 再添加进缓存中
User user=usermapper.finduserbyid(1); 2次发起->缓存有直接返回
usermapper.updateuser(user1);sqlSession去执行增删改-清空一级缓存
一级缓存应用
![2ada7a24f8aeae89ccbcdb1d4e103400](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\2ada7a24f8aeae89ccbcdb1d4e103400.png)
2.2级缓存
![0e49bf45af19e07fa4ee06a0b7335180](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\0e49bf45af19e07fa4ee06a0b7335180.png)
二级缓存范围大-多个sqlsession可以共享一个usermapper二级缓存区域
二级缓存区域是按照namespace分-其他不同的mapper也有自己的二级缓存区域
一个namespace的mapper都有一个二缓存区域,两个mapper的namespace如果相同,这两个mapper执行sql查询到数据将存在相同 的二级缓存区域中。
开启二级缓存
mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓存。
![0a1dafc8e5fd22b6cf93d8e8aae31c4e](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\0a1dafc8e5fd22b6cf93d8e8aae31c4e.png)
mybits整合ehcache
mybits整合ehcache
ehcache是一个分布式缓存框架
缓存的数据-进行集中管理-分布式集中访问 整合方法
mybatis提供了一个cache接口,如果要实现自己的缓存逻辑,实现cache接口开发即可。
mybatis和ehcache整合,mybatis和ehcache整合包中提供了一个cache接口的实现类。
![img](file:///G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\45eaa4a652048030f4b17712288fbc56.png)
ehcache配置
![img](file:///G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\687820640853663a040469325cfb6a5b.png)
![img](file:///G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\68e729a0da44d9d806007bc8178478d5.png)
二级应用场景
![fcf22de20a326941945b31d902fd8608](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\fcf22de20a326941945b31d902fd8608.png)
Mybits整合Spring
1.bean配置
![af73e0779b8e3e14680320c06a1d3e29_720](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Thumb\af73e0779b8e3e14680320c06a1d3e29_720.jpg)
bean的配置
user.xml
![b13f504c2f17c64e26097dff4834aed8](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\b13f504c2f17c64e26097dff4834aed8.jpg)
![92c073b510f63afca1597faf32e1d6be](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\92c073b510f63afca1597faf32e1d6be.jpg)
![68ba41b8d0cb810134cb064e6eed67c5](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\68ba41b8d0cb810134cb064e6eed67c5.jpg)
![4b6944e971eb9c6af10fdffe3f6cd943](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-05\Ori\4b6944e971eb9c6af10fdffe3f6cd943.jpeg)
以上bean去读xml配置
然后mybits去注册 在接口实现类进行查询
之后注册为bean
后续直接使用
2.mapper
还是要在同级目录以下
注册为bean 扫描xml文件
![dad5b70ff70703d57a807c3d9a740926_720](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Thumb\dad5b70ff70703d57a807c3d9a740926_720.jpg)
![38fcb7f3871e63a3686786685b0671b7](G:\360MoveData\Users\nixg\Documents\Tencent Files\2760045743\nt_qq\nt_data\Pic\2024-04\Ori\38fcb7f3871e63a3686786685b0671b7.jpg)
标签:2024,Users,data,2760045743,mybits,360MoveData,nt From: https://www.cnblogs.com/Agtw/p/18186037