搭建项目步骤
step1: 创建基于Java Project的项目
step2: 添加jar包
step2.1: 创建jar包所在的文件夹lib
step2.2: 添加Mybatis3.4.4的jar包(必须)
step2.3: 添加Mysql数据库的jar包(必须)
step3: 创建数据库mybatis34db和商品信息表Goods
step4: 创建并配置Mybatis的配置文件mybatis.cfg.xml
主要配置与数据库连接的4个连接串。
step5: 创建并实现实体类
com.dhj.entities.Goods.java
step6: 创建并实现实体类的映射文件
com.dhj.mapper.GoodsMapper.xml
step7: 测试Mybatis环境搭建是否成功
step7.1: 创建测试类文件
com.dhj.test.TestMybatis.java
step7.2: 写一个测试方法TestMybatisEnvironment,验证测试环境搭建是否成功。
这里是基于xml配置文件,执行程序的。下面提供了面向接口的方式。
step8: 创建并实现实体类的功能接口文件
com.dhj.dao.GoodsMapper.java
具体代码实现
mybatis.cfg.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>
<!– step4: 创建并配置Mybatis的配置文件mybatis.cfg.xml –>
<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:3308/mybatis34db” />
<property name=”username” value=”root” />
<property name=”password” value=”root” />
</dataSource>
</environment>
</environments>
<!– 将sql映射文件(GoodsMapper.xml)一定要注册到全局配置文件mybatis.cfg.xml中 –>
<mappers>
<mapper resource=”com/dhj/mapper/GoodsMapper.xml” />
</mappers>
</configuration>
Goods.java
public class Goods {
private Integer id;
private String name;
private double price;
private int count;
}
GoodsMapper.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.dhj.dao.GoodsMapper”>
<!– step6: 创建并实现实体类的映射文件
com.dhj.mapper.GoodsMapper.xml
namespace:指定为接口的全类名
id:唯一标识
resultType:返回值类型
#{id}:从传递过来的参数中取出id值
public Goods getGoodsById(Integer id);
–>
<select id=”getGoodsById” resultType=”com.dhj.entities.Goods”>
select * from Goods where id = #{id}
</select>
</mapper>
GoodsMapper.java
//step8: 创建并实现实体类的功能接口文件
com.dhj.dao.GoodsMapper.java
public interface GoodsMapper {
//根据id查询商品信息
public Goods getGoodsById(Integer id);
}
//step7.1: 创建测试类文件
com.dhj.test.TestMybatis.java
public class TestMybatis {
//step7.2: 写一个测试方法TestMybatisEnvironment,验证测试环境搭建是否成功。
/**
* 1、根据全局xml配置文件,创建一个SqlSessionFactory对象
* 2、sql映射文件;配置了每一个sql,以及sql的封装规则等。
* 3、将sql映射文件注册在全局配置文件中。
* 4、写代码:
* 1)、根据全局配置文件得到SqlSessionFactory;
* 2)、使用sqlSession工厂,获取到sqlSession对象使用他来执行增删改查。
* 一个sqlSession就是代表和数据库的一次会话,用完关闭。
* 3)、使用sql的唯一标志来告诉MyBatis执行哪个sql。sql都是保存在sql映射文件中的。
*
*/
//xml配置文件
@Test
public void TestMybatisEnvironmentWithXml() throws IOException {
String resource = “mybatis.cfg.xml”;
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sessionFactory.openSession();
try {
Goods goods = session.selectOne(“com.dhj.dao.GoodsMapper.getGoodsById”, 1);
System.out.println(goods);
} finally {
session.close();
}
}
TestMybatis.java
/**
* 1、接口式编程
* 2、SqlSession代表和数据库的一次会话;用完必须关闭;
* 3、SqlSession和connection一样都是非线程安全。每次使用都应该去获取新的对象。
* 4、mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象。
* 5、两个重要的配置文件:
* mybatis的全局配置文件:包含数据库连接池信息,事务管理器信息等系统运行环境信息。
* sql映射文件:保存了每一个sql语句的映射信息,将sql抽取出来。
*
*/
//接口式编程
@Test
public void TestMybatisEnvironmentWithInterface() throws IOException {
String resource = “mybatis.cfg.xml”;
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sessionFactory.openSession();
try {
// 3、获取接口的实现类对象
//会为接口自动的创建一个代理对象,代理对象去执行增删改查方法
GoodsMapper goodsMapper = session.getMapper(GoodsMapper.class);
Goods goods = goodsMapper.getGoodsById(1);
System.out.println(goodsMapper.getClass());
System.out.println(goods);
} finally {
session.close();
}
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!