Mybatis学习笔记(一)——项目搭建、导入依赖、相关配置
传送门:Mybatis中文网(入门手册)Mybatis中文网
一、新建项目
在项目中新建模块:
二、学习Mybatis常用的依赖:
<dependencies>
<!--Mybatis核心-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!--junit测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--Mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.3</version>
</dependency>
<!--log4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
</dependencies>
三、项目目录结构:
四、连接数据库前的操作
驱动类Driver,数据库地址URL、用户名username、密码password
使用jdbc.properties来设置,具体内容如下:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root
写完jdbc.properties配置文件,怎么把配置和项目联系起来呢?我们就需要在项目的mybatis-config.xml的标签下添加代码:
<properties resource="jdbc.properties" />
就可以把jdbc.properties与项目关联起来了。
如何简化操作,直接创建mybatis-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>
<properties resource="jdbc.properties" />
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="></mapper>
</mappers>
</configuration>
再回到正文:::
五、创建实体类(从数据库中查询到的数据,接收的实体类,属性名属性值与数据库表中字段一一对应)
六、创建接口interface UserMapper
七、如何实现接口中我们规划的功能?(这里以添加用户信息为例int insertUser())
/**
* @author MIAO
* @date 2022/4/13-11:43
* Mybatis面向接口编程的两个一致:
* 1.映射文件的namespace要和mapper接口的全类名保持一致
* 2.映射文件中SQL语句的id要和mapper接口中的方法名一致
*
*
* 表---》实体类---》mapper接口---》映射文件
*/
具体步骤:
在resource目录下新建mappers文件夹,在mappers文件夹下创建UserMapper.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.zxm.mybatis.mappers.UserMapper">
<!--int insertUser();-->
<insert id="insertUser">
insert into t_user values(null,'admin','admin',23,'男','12345@qq.com')
</insert>
</mapper>
通过mapper标签的namespace属性将接口和映射文件联系起来
最重要的是:在mybatis-config.xml文件中还要添加一行代码:把UserMapper.xml加载进项目(引入映射文件)
八、进行测试
public class MyBatisTest {
/**
* SqlSession默认不自动提交事务,若需要自动提交事务
* 可以使用SqlSessionFactory.openSession(true);
* @throws IOException
*/
@Test
public void testMyBatis() throws IOException {
//加载核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取sqlsessionfactory
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获取SQL Session
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//获取mapper接口对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//提交事务
//sqlSession.commit();
//测试功能
int result = mapper.insertUser();
System.out.println("result:"+result);
}
}
如果觉得这篇博客,对你学习Mybatis有所帮助,还请支持一波,点赞收藏,不投币(●’◡’●),一起学习,一起进步!!