零基础Mybatis入门程序编写、测试

文章目录

    • mybatis下载
    • Mybatis环境搭建
        • 1.创建java工程
        • 2.加入jar包
        • 3.效果:
    • 加入配置文件
        • 1.配置log4j.properties
        • 2. 配置SqlMapConfig.xml
        • 3. 效果
        • 4. 创建pojo
        • 5. 创建sql映射文件
        • 6. 加载映射文件
    • 测试编写并运行程序
        • 1. 编写映射文件:
        • 2. 测试程序:
            • 1. 创建SqlSessionFactoryBuilder对象
            • 2. 加载SqlMapConfig.xml配置文件
            • 3. 创建SqlSessionFactory对象
            • 4. 创建SqlSession对象
            • 5. 执行SqlSession对象执行查询,获取结果User
            • 6. 打印结果
            • 7. 释放资源
        • 测试结果

mybatis下载

mybaits的代码由github.com管理
下载地址:https://github.com/mybatis/mybatis-3/releases
mybatis资料如下:
零基础Mybatis入门程序编写、测试_第1张图片
mybatis-3.2.7.jar mybatis的核心包
lib文件夹 mybatis的依赖包所在
mybatis-3.2.7.pdf mybatis使用手册

Mybatis环境搭建

1.创建java工程

如下图使用之前创建的mybatis-first工程
零基础Mybatis入门程序编写、测试_第2张图片

2.加入jar包

加入mybatis核心包、依赖包、数据驱动包。
mybatis核心包
零基础Mybatis入门程序编写、测试_第3张图片
mybatis依赖包
零基础Mybatis入门程序编写、测试_第4张图片
数据库驱动包(已添加)
零基础Mybatis入门程序编写、测试_第5张图片

3.效果:

零基础Mybatis入门程序编写、测试_第6张图片

加入配置文件

如下图创建资源文件夹config,加入log4j.properties和SqlMapConfig.xml配置文件
零基础Mybatis入门程序编写、测试_第7张图片
零基础Mybatis入门程序编写、测试_第8张图片

1.配置log4j.properties

在config下创建log4j.properties如下:

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

mybatis默认使用log4j作为输出日志信息。

2. 配置SqlMapConfig.xml

在config下创建SqlMapConfig.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>
	<!-- 和spring整合后 environments配置将废除 -->
	<environments default="development">
		<environment id="development">
			<!-- 使用jdbc事务管理 -->
			<transactionManager type="JDBC" />
			<!-- 数据库连接池 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
				<property name="username" value="root" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>
</configuration>

SqlMapConfig.xml是mybatis核心配置文件,配置文件内容为数据源、事务管理。

3. 效果

零基础Mybatis入门程序编写、测试_第9张图片

4. 创建pojo

pojo类作为mybatis进行sql映射使用,po类通常与数据库表对应,

数据库user表如下图:
零基础Mybatis入门程序编写、测试_第10张图片

User.java如下:

Public class User {
	private int id;
	private String username;// 用户姓名
	private String sex;// 性别
	private Date birthday;// 生日
	private String address;// 地址


get/set……

5. 创建sql映射文件

在config下的sqlmap目录下创建sql映射文件User.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">
<!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 -->
<mapper namespace="test">
</mapper>

6. 加载映射文件

mybatis框架需要加载Mapper.xml映射文件
将users.xml添加在SqlMapConfig.xml,如下:

零基础Mybatis入门程序编写、测试_第11张图片
到这里Mybatis入门程序已经搭建完成!

测试编写并运行程序

作为初学者,我们来编写一个最简单的通过id查询一条数据

1. 编写映射文件:

在user.xml中添加select标签,编写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">
<!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 -->
<mapper namespace="test">

	<!-- id:statement的id 或者叫做sql的id-->
	<!-- parameterType:声明输入参数的类型 -->
	<!-- resultType:声明输出结果的类型,应该填写pojo的全路径 -->
	<!-- #{}:输入参数的占位符,相当于jdbc的? -->
	<select id="queryUserById" parameterType="int"
		resultType="cn.itcast.mybatis.pojo.User">
		SELECT * FROM `user` WHERE id  = #{id}
	</select>
</mapper>

2. 测试程序:

测试程序步骤:

1. 创建SqlSessionFactoryBuilder对象
2. 加载SqlMapConfig.xml配置文件
3. 创建SqlSessionFactory对象
4. 创建SqlSession对象
5. 执行SqlSession对象执行查询,获取结果User

第一个参数是User.xml的statement的id,第二个参数是执行sql需要的参数;
Object user = sqlSession.selectOne(“queryUserById”, 1);

6. 打印结果
7. 释放资源

MybatisTest编写测试程序如下:

public class MybatisTest {
	private SqlSessionFactory sqlSessionFactory = null;

	@Before
	public void init() throws Exception {
		// 1. 创建SqlSessionFactoryBuilder对象
		SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();

		// 2. 加载SqlMapConfig.xml配置文件
		InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");

		// 3. 创建SqlSessionFactory对象
		this.sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
	}

	@Test
	public void testQueryUserById() throws Exception {
		// 4. 创建SqlSession对象
		SqlSession sqlSession = sqlSessionFactory.openSession();

		// 5. 执行SqlSession对象执行查询,获取结果User
		// 第一个参数是User.xml的statement的id,第二个参数是执行sql需要的参数;
		Object user = sqlSession.selectOne("queryUserById", 1);

		// 6. 打印结果
		System.out.println(user);

		// 7. 释放资源
		sqlSession.close();
	}
}

测试结果

测试结果如下图
零基础Mybatis入门程序编写、测试_第12张图片

你可能感兴趣的:(Mybatis学习专栏)