MyBits可以简化JDBC的操作,实现数据的持久化。
MyBits中文官网
使用Maven配置:入门–>安装–>Maven依赖
MyBits Jar包下载
- 下载好mybits的jar包后,新建java工程,并引入该jar包(mybits-3.5.5.jar),随后新建一张数据表:
drop table person; create table person( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), age INT ); insert into person (name,age) values ('gub',18);
- 新建POJO类与数据表对应
public class Person { private Integer id; private String name; private Integer age; //方法略 }
- 在文档中查看MyBits映射文件模板,配置映射文件
<?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:映射文件的路径--> <mapper namespace="com.gub.vo.PersonMapper"> <!-- id:语句ID resultType:返回值类型 parameterType:输入参数类型 --> <select id="queryPersonById" resultType="com.gub.vo.Person" parameterType="int"> <!--使用#{id}动态传值--> select * from Person where id = #{id} </select> </mapper>
- 新建MyBits配置文件conf.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> <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/mybits?characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <!--加载映射文件--> <mapper resource="com/gub/vo/PersonMapper.xml"/> </mappers> </configuration>
- 新建测试类,测试MyBits
import com.gub.vo.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.*; import java.io.Reader; public class TestMyBits { public static void main(String[] args) throws Exception{ //加载MyBits配置文件 Reader reader = Resources.getResourceAsReader("conf.xml"); //创建SqlSessionFactory,相当于hibernate中的SessionFactory SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); //创建SqlSession,相当于hibernate中的Session SqlSession sqlSession = sessionFactory.openSession(); //传入PersonMapping文件中的namespace.语句id,执行sql语句 Person person = sqlSession.selectOne("com.gub.vo.PersonMapper.queryPersonById",1); System.out.println(person); //关闭Session sqlSession.close(); } }
此时执行测试程序,发现数据查询成功。