—————————————————————————————
“玩转”Java 系列
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
2.4. 定义表所对应的实体类
public class User {
private int id;
private String name;
private int age;
//get,set 方法
2
【更多 Java – Android 资料下载,可访问尚硅谷(中国)官网 www.atguigu.com 下载区】
—————————————————————————————
}
“玩转”Java 系列
2.5. 定义操作 users 表的 sql 映射文件 userMapper.xml
"-//mybatis.org//DTD Mapper
PUBLIC
3.0//EN"
2.6. 在 conf.xml 文件中注册 userMapper.xml 文件
2.7. 编写测试代码:执行定义的 select 语句
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 的 sqlSession
SqlSession session = sessionFactory.openSession();
//映射 sql 的标识字符串
String statement = "com.atguigu.mybatis.bean.userMapper"+".selectUser";
//执行查询返回一个唯一 user 对象的 sql
User user = session.selectOne(statement, 1);
System.out.println(user);
}
3
【更多 Java – Android 资料下载,可访问尚硅谷(中国)官网 www.atguigu.com 下载区】
—————————————————————————————
}
“玩转”Java 系列
3. 操作 users 表的 CRUD
3.1. XML 的实现
1). 定义 sql 映射 xml 文件:
insert into users(name, age) values(#{name}, #{age});
delete from users where id=#{id}
update users set name=#{name},age=#{age} where id=#{id}
2). 在 config.xml 中注册这个映射文件
4
【更多 Java – Android 资料下载,可访问尚硅谷(中国)官网 www.atguigu.com 下载区】
—————————————————————————————
3). 在 dao 中调用:
“玩转”Java 系列
public User getUserById(int id) {
SqlSession session = sessionFactory.openSession();
User user = session.selectOne(URI+".selectUser", id);
return user;
}
3.2. 注解的实现
1). 定义 sql 映射的接口
public interface UserMapper {
@Insert("insert into users(name, age) values(#{name}, #{age})")
public int insertUser(User user);
@Delete("delete from users where id=#{id}")
public int deleteUserById(int id);
@Update("update users set name=#{name},age=#{age} where id=#{id}")
public int updateUser(User user);
@Select("select * from users where id=#{id}")
public User getUserById(int id);
@Select("select * from users")
public List getAllUser();
}
2). 在 config 中注册这个映射接口
5
【更多 Java – Android 资料下载,可访问尚硅谷(中国)官网 www.atguigu.com 下载区】