标签:xml 语句 创建 配置 指定 学习 SQL Mybatis
一.基础知识
早期的名字叫 iBatis ,2010年后更名为 Mybatis 是一个半自动的ORM(持久层)框架,需要指定SQL语句,
相对于 Hibernate 全自动来说,Hibernate 只需要指定类与表的关系,无需指定SQL语句。
需求背景:
1.原生JDBC创建连接的时候,每次用完都会销毁(性能问题,不销毁有资源占用问题)
2.DAO层好多流程都一样(绕不过增删改查),造成代码冗余
1.基础操作
①导包
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
②配置xml文件config.xml
<?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.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/study?serverTimezone=Hongkong"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
transactionManager 指定的是链接方式,java目前都是JDBC的方式。
DataSource的类型指定的是连接池的方式来创建连接,底层会自动的创建一个连接池来管理连接数量。
mappers下指定的是SQL语句文件所在的路径。( 如果用注解的方式,则不需要这项。)
这里是通过xml文件来创建链接,还有另一种通过java类来创建链接,详细参照Mybatis文档
(connect8.0往后的版本需要配置serverTimezone参数)
③通过xml创建链接。
需要读取xml配置文件的流。
一个SqlSessionFactoryBuilder类根据读取的XML信息来构建SqlSessionFactory
再通过SqlSessionFactory.openSession()方法来获取SqlSession
最后调用SqlSession的方法并制定SQL语句来执行持久层的操作
String resource = "config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = sqlSession.selectOne("com.zwei.selectUser", 1);
④创建一个存放SQL语句的XML文件
<?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.zwei">
<select id="selectUser" resultType="com.zwei.domain.User">
select * from user where user_id = #{id}
</select>
</mapper>
标签:xml,语句,创建,配置,指定,学习,SQL,Mybatis 来源: https://blog.csdn.net/qq_36601836/article/details/115436623
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。