首页 > 其他分享 >使用MyBatis的注意事项有哪些

使用MyBatis的注意事项有哪些

时间:2024-06-13 22:44:10浏览次数:23  
标签:xml 哪些 AI 代码 注意事项 mybatis sql MyBatis

这篇文章给大家分享的是有关使用MyBatis的注意事项有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、MyBatis的HelloWord

1.根据xml配置文件(全局配置文件mybatis-config.xml)创建一个SqlSessionFactory对象 有数据源一些运行环境信息

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <environments default="development">
      <environment id="development">
         <transactionManager type="JDBC" />
         <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
            <property name="username" value="root" />
            <property name="password" value="123456" />
         </dataSource>
      </environment>
   </environments>
   <!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
   <mappers>
      <mapper resource="EmployeeMapper.xml" />
   </mappers>
</configuration>

2.sql映射文件EmployeeMapper.xml;配置了每一个sql,以及sql的封装规则等。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
<!-- 
namespace:名称空间;指定为接口的全类名
id:唯一标识
resultType:返回值类型
#{id}:从传递过来的参数中取出id值

public Employee getEmpById(Integer id);
分离实现与接口
 -->
   <select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee">
      select id,last_name lastName,email,gender from tbl_employee where id = #{id}
   </select>
</mapper>

3.将sql映射律飞侠文件注册在全局配置文件mybatis-config.xml中

<mappers>
   <mapper resource="EmployeeMapper.xml" />
</mappers>

4.写代码:

1).根据全局配置文件得到SqlSessionFactory;

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

2).使用sqlSession工厂,获取到sqlSession对象使用他来执行增删改查,一个sqlSession就是代表和数据库的一次会话,用完关闭

SqlSession openSession = sqlSessionFactory.openSession();

3).使用sql的唯一标志来告诉MyBatis执行哪个sql。sql都是保存在sql映射文件中的

try {
   Employee employee = openSession.selectOne(
         "com.atguigu.mybatis.dao.EmployeeMapper.getEmpById", 1); // spacename + sqlId
   System.out.println(employee);
} finally {
   openSession.close();
}

二、MyBatis接口式编程

mybatis:    Mapper.java(接口) ====>  xxMapper.xml(实现)

接口式编程的好处在于,能够将功能与实现相分离

1、SqlSession代表和数据库的一次会话;用完必须关闭;
2、SqlSession和connection一样它都是非线程安全。每次使用都应该去获取新的对象。
3、mapper.java接口没有实现类,但是mybatis会为这个接口生成一个代理对象。(将接口和xml进行绑定)
EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMapper.class);
4、两个重要的配置文件:

  • mybatis的全局配置文件:包含数据库连接池信息,事务管理器信息等…系统运行环境信息

  • sql映射文件:保存了每一个sql语句的映射信息:将sql抽取出来。

感谢各位的阅读!关于“使用MyBatis的注意事项有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

标签:xml,哪些,AI,代码,注意事项,mybatis,sql,MyBatis
From: https://www.cnblogs.com/77cxw/p/18246903

相关文章

  • 哪些方法可以让 Python 代码易维护
    随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发者能够快速了解项目的情况,同时能更好地全程保持应用程序的质量。使用外部库来检查代......
  • MyBatis之工作原理,简单CRUD,一篇让你明白原理
    一、MyBatis之工作原理MyBatis是一个半自动映射框架。所谓半自动,是相对Hibernate全表映射而言的,MyBatis需要手动匹配提供POJO、SQL和映射关系。我们知道,jdbc有四个核心对象(1)DriverManager,用于注册数据库连接(2)Connection,与数据库连接对象(3)Statement/PrepareStatement,操作数......
  • B端系统导航有哪些类型?本文告诉你7个常用的。
    B端系统相对与C端来说,功能复杂,信息量大,流程负复杂,层级深,这个时候到就显得尤为重要了,直接关乎用户体验,本文大美B端工场带领大家看看这个问题。一、导航对于B端系统的重要性导航在B端系统中具有重要性,原因如下:1.提供导航和定位:B端系统通常功能复杂且模块众多,导航可以帮助用......
  • 数据安全保护系统有哪些?五大数据防泄漏DLP系统,你选对了吗?
    在数字化快速发展的今天,数据已经成为企业最宝贵的资产之一。点击获取软件https://work.weixin.qq.com/ca/cawcde06a33907e60a为了应对不断升级的网络安全威胁,选择合适的数据防泄漏(DLP)系统显得尤为重要。本文将为您介绍五款领先的数据防泄漏DLP系统:一、SymantecDataLoss......
  • MyBatis 的在使用上的注意事项及其辨析
    1.MyBatis的在使用上的注意事项及其辨析@目录1.MyBatis的在使用上的注意事项及其辨析2.准备工作3.#{}与${}的区别和使用{}3.1什么情况下必须使用$3.1.1拼接表名3.1.2批量删除3.1.3模糊查询3.1.3.1使用${}的方式3.1.3.2使用#{}的方式4.typeAliases别名定......
  • 平价蓝牙耳机推荐有哪些?四款平价顶尖机型盘点
    对于预算有限但又追求高品质音效的朋友们,平价蓝牙耳机成为了一个非常实用的选择,在市面上琳琅满目的蓝牙耳机中,挑选出性价比极高且性能出众的款式并不容易,作为一个多年的蓝牙耳机发烧友,接下来我就将为大家盘点四款平价但顶尖的蓝牙耳机机型,大家可以参考采纳。第一款:西圣AVA2蓝......
  • 618购物节入手哪些数码好物好?年度必备好物清单大盘点
    随着一年一度的618购物节的到来,数码市场再次掀起了热潮,在这个属于消费者的狂欢节里,各大品牌和商家纷纷推出优惠活动和新品,为数码爱好者们带来了无数的购物选择,那么在这个购物盛宴中,我们应该如何挑选那些真正值得入手的数码好物呢?接下来,就让我们一起盘点那些年度必备、不容错过......
  • MyBatis-Plus更新字段为null时,update语句为null字段不生效的解决方法
    MyBatis-Plus更新字段为null时,update语句为null字段不生效的解决方法https://blog.csdn.net/y2020520/article/details/1328272061)修改MyBatis-Plus全局默认策略缺点:这样做会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为nullmybatis-p......
  • Keysight N1092A系列 眼图测试中哪些因素会影响测试结果的准确性?
    在进行Keysight N1092A眼图测试时,多种因素可能会影响测试结果的准确性。以下是一些关键因素:偏置电流:偏置电流的设置不当可能导致波形底部太低,影响眼图的清晰度。适当增加偏置电流可以使波形底部向上移动,从而使眼图更加清晰。 上升沿速度:如果上升沿速度过快,可能会导致过冲......
  • 自定义MyBatis插件
    插件原理回顾在前面,我们通过MyBatis插件机制介绍与原理分析了MyBatis插件的基本原理,但是可能还只是理论上的分析,没有实战的锻炼可能理解的还是不够透彻。接下来,我们通过自定义插件实例来进一步深度理解MyBatis插件的插件机制。插件接口MyBatis插件接口-Interceptor有......