mybatis可以简化JDBC操作,实现数据的持久化
实现对象和表的 一 一映射,可以通过操作对象那样,操作数据库
首先需要去官网下载mybatis的架包和源文件
通过配置文件,实现表和对象的一一映射
在数据库中创建一个表
在创建一个类,表的字段和类的属性保持一致
关联数据库,新建xml文件
数据库配置信息,驱动,链接字符串,密码,用户名,
和映射文件(映射文件中存放SQL语句)
<?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>
<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:3306/test"/><!-- 链接字符串 -->
<property name="username" value="root"/>
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 加载映射文件 -->
<mapper resource="org/all/personMapper.xml" />
</mappers>
</configuration>
映射文件中存放SQL语句
<select id="selectBlog" resultType="org.all.Person" parameterType="int">
select * from person where id = #{id}
</select>
每一个SQL语句都有一个id值,可以根据id值调用相应的SQL语句
resultType返回类型
parameterType输入参数的类型,也就是查询的时候,where条件
<?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="org.all.personMapper">
<!-- 通过id来区分是哪个 resultType放回的对象-->
<!-- 动态传值#{id} -->
<select id="selectBlog" resultType="org.all.Person" parameterType="int">
select * from person where id = #{id}
</select>
</mapper>
在测试类中
加载Mybatis配置文件
创建sqlSessionFactory工厂,需要引入mybatis的源文件,按住ctrl点击SqlSessionFactory,引入下载好的源文件
通过sqlSessionFactory创建session,根据session运行对应的SQL语句(根据id找sql)
package org.all;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class Test {
public static void main(String[] args) throws IOException {
//加载Mybatis配置文件
Reader reader = Resources.getResourceAsReader("config.xml");
//sqlSessionFactory工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sessionFactory.openSession();
//使用session操作数据库
String id = "org.all.personMapper.selectBlog";//找到配置文件
Person person= session.selectOne(id,2);//返回值是一个对象
System.out.println(person);
session.close();
}
}