mybatis基础学习一
1. Mybatis介绍(ibatis)
MyBatis是支持普通****SQL****查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.
2. mybatis快速入门
编写第一个基于mybaits的测试例子:
2.1添加jar包
【mybatis】
mybatis-3.1.1.jar
【MYSQL驱动包】
mysql-connector-java-5.1.7-bin.jar
2.2建库+表
create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
INSERT INTO users(NAME, age) VALUES(‘Tom’, 12);
INSERT INTO users(NAME, age) VALUES(‘Jack’, 11);
2.3 添加mybatis配置文件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://172.171.2.161:3306/mybatis" /><property name="username" value="root" /><property name="password" value="root123" /></dataSource></environment></environments><!--后面2.6章节添加--><mappers><mapper resource="mybatis/userMapper.xml"/></mappers></configuration>
2.4 定义表所对应的实体类
package mybatis;public class User{private int id;private String name;private int age;public User(final int id, final String name, final int age){super();this.id = id;this.name = name;this.age = age;}public User(){super();}public int getId(){return id;}public void setId(final int id){this.id = id;}public String getName(){return name;}public void setName(final String name){this.name = name;}public int getAge(){return age;}public void setAge(final int age){this.age = age;}@Overridepublic String toString(){return "User [id=" + id + ", name=" + name + ", age=" + age + "]";}}
2.5 定义操作users表的sql映射文件userMapper.xml
<?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="mybatis.userMapper">
<select id="getUser" parameterType="int"
resultType="mybatis.User">
select * from users where id=#{id}
</select>
</mapper>
2.6 在conf.xml文件中注册userMapper.xml文件
<mappers>
<mapper resource="mybatis/userMapper.xml"/>
</mappers>
2.7 编写测试代码:执行定义的select语句
package mybatis;import java.io.IOException;import java.io.InputStream;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(final String[] args) throws IOException{String resource = "conf.xml";InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);SqlSession session = factory.openSession();String statement = "mybatis.userMapper.getUser";User user = session.selectOne(statement, 1);System.out.println(user);}}

浙公网安备 33010602011771号