Mybatis基础入门(查询案例)

  1. 准备一个java工程
  2. 导入Mybatis的jar包和依赖包,还有数据库驱动包和连接池的jar包 asm-3.3.1.jar cglib-2.2.2.jar
    commons-logging-1.1.1.jar javassist-3.17.1-GA.jar mybatis-3.2.1.jar
    mysql-connector-java-5.1.26-bin.jar
  3. 创建resource源文件夹放数据库连接的资源文件db.properties
    db.properties
driverName=com.mysql.jdbc.Driver
# 这里字符集时候固定写法,只能在url中
url=jdbc:mysql://localhost:3306/0407?CharactorEncoding=utf8
user=user
password=user
  1. 数据库导入,根据数据库去编写实体类
  2. 编写Dao层代码
    这里用查询一个对象当作例子
	//IProductDao里面代码
	/**
	 * 查询一个商品
	 */
	Product get(Long id);
	////ProductDaoImpl里面代码
 @Override
	public Product get(Long id) {
		return null;
	}
  1. 创建resource源文件夹放Mybatis的主配置文件Confinguration,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">
<!-- Mybatis主配置文件的根标签 -->
<configuration>
   <!-- 加载属性文件,这里不要写classpath,因为resource资源会自动加载classpath下的文件 -->
   <properties resource="db.properties"></properties>

   <!-- 配置别名  -->
   <typeAliases>
   	<!-- 这个包下面的类都可以写简写:要么直接写类名  ,要么写类名的首字母小写 -->
   	<package name="cn.itsource.domain"/>
   </typeAliases>
   
   <!-- 环境们:可以配置多个环境,默认用的是id为development的一个环境 -->
   <environments default="development">
   	<!-- 配置一个环境 -->
   	<environment id="development">
   		<!-- 事务管理器:用的是JDBC的事务 -->
   		<transactionManager type="JDBC" />
   		<!-- 数据源 -->
   		<dataSource type="POOLED">
   			<property name="driver" value="${driverClassName}" />
   			<property name="url" value="${url}" />
   			<property name="username" value="${username}" />
   			<property name="password" value="${password}" />
   		</dataSource>
   	</environment>
   </environments>
   <mappers>
   	<!-- <mapper resource="cn/itsource/domain/ProductMapper.xml" /> -->
   	<mapper resource="cn/itsource/mapper/ProductMapper.xml" />
   </mappers>
</configuration>

7.在实体类的包中新建一个xml文件【实体类类名Mapper.xml】

<!-- 
	mapper - 映射sql
	namespace - 一般是接口的完全限定名,相当于区分类的包名
 -->
<mapper namespace="cn.itsource.dao.IProductDao">
	<!-- 
		select - 查询  
		id - 是sql语句的唯一表示【namespace.id】,一般是接口中的方法名
		parameterType - 参数类型
		resultType - 返回值类型
	 -->
	<select id="loadOne" parameterType="long" 
		resultType="cn.itsource.domain.Product">
		select * from product where id = #{id}
	</select>
</mapper>

8.通过SqlSessionFactoryBuilder构建SqlSessionFactory对象
9.使用SqlSessionFactory对象获取SqlSession对象
10.调用SqlSession的API操作数据库

//8-10步在DaoImpl类里实现
try {
			String str="Configuration.xml";
			Reader r;
			//将配置文件读取为流 -- 将配置文件加载到内存中
			r=Resources.getResourceAsReader(str);
			//根据流区构建工厂
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(r);
			//根据工厂创建一个SQLSession对象
			SqlSession session = factory.openSession();
			//通过SQLSession对象区获取方法查询
			//第一个参数是sql标识  用namespace+方法名
			Product p = session.selectOne("it.show.dao.IProductDao.get", id);
			return p;
		} catch (IOException e) {
			e.printStackTrace();
		}

11.测试

		Product product = dao.get(10l);
		System.out.println(product);

12.执行流程:先加载主配置文件,在主配置文件中加载了mapper映射文件,加载了这两个文件之后,就可以调用ORM框架的API执行数据库操作

发布了23 篇原创文章 · 获赞 1 · 访问量 178

猜你喜欢

转载自blog.csdn.net/weixin_45528650/article/details/105367615