搭建项目步骤
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
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
Goods.java
public class Goods {
private Integer id;
private String name;
private double price;
private int count;
}
GoodsMapper.xml
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select * from Goods where id = #{id}
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();
}
}
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/277367.html