MyBatis入门应用

来源:互联网 发布:土摩托 知乎 编辑:程序博客网 时间:2024/06/06 00:55
  • 什么是MyBatis

官方解释:MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
  • 使用MyBatis

  1. 建数据库和表
  2. 导MyBatis的包
  3. 配置MyBatis的配置文件
<?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/mybatis" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments>
<!-- 此在5定义表的sql映射文件步骤后添加 --><mappers><mapper resource="userMapper.xml" /></mappers></configuration>

      4.定义表所对应的实体类(要和1中的表中字段一致)

package entitiy;public class User {private int id;private String name;private int age;    //get,set方法public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

       5.定义表的sql映射文件

<?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="userMapper"><select id="getUser" parameterType="int" resultType="entity.User">select * from users where id=#{id}</select></mapper>

       6.加载配置文件,进行测试

package demo;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;import entitiy.User;public class Test {public static void main(String[] args) throws IOException {String resource = "conf.xml"; //加载mybatis的配置文件(它也加载关联的映射文件)Reader reader = Resources.getResourceAsReader(resource); //构建sqlSession的工厂SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//创建能执行映射文件中sql的sqlSessionSqlSession session = sessionFactory.openSession();//映射sql的标识字符串String statement = "userMapper"+".getUser";//执行查询返回一个唯一user对象的sqlUser user = session.selectOne(statement, 1);System.out.println(user);}}





0 0