其中数据库驱动mysql-connector-java.jar根据自己的数据库版本选择。
CREATE DATABASE mybatisStudy;
USE mybatisStudy;
Create Table sys_user (
id int auto_increment
name varchar(255),
age int,
address varchar(255),
createtime datetime,
PRIMARY KEY (id)
)
根据数据库创建实体类。
package com.study.domain;
import java.util.Date;
public class User {
private Integer id;
private String name;
private Integer age;
private String address;
private Date createtime;
public User() {
// TODO Auto-generated constructor stub
}
public User(Integer id, String name, Integer age, String address,
Date createtime) {
super();
this.id = id;
this.name = name;
this.age = age;
this.address = address;
this.createtime = createtime;
}
public User(String name, Integer age, String address, Date createtime) {
super();
this.name = name;
this.age = age;
this.address = address;
this.createtime = createtime;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
}
新建DAO包,在其中添加DAO类
package com.study.dao;
import java.util.List;
import com.study.domain.User;
public interface UserDao {
public void add(User user);
public void update(User user);
public void delete(Integer id);
public User queryById(Integer id);
public List queryAll();
}
新建mapping包,编写UserMpper.xml方法
insert into sys_user(name,age,address,createtime) values(#{name},#{age},#{address},#{createtime})
update sys_user set name=#{name},address=#{address},createtime=#{createtime} where id=#{id}
delete from sys_user where id=#{value}
package com.study.dao.Impl;
import java.util.List;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.study.dao.UserDao;
import com.study.domain.User;
public class UserDaoImpl implements UserDao {
InputStream is = this.getClass().getResourceAsStream("/mybatis.cfg.xml");
//1.得到sqlSessionFactory
SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(is);
@Override
public void add(User user) {
//2.得到Session
SqlSession session = factory.openSession();
//3.添加
session.insert("com.study.dao.UserDao.add",user);
//4.提交
session.commit();
//5.关闭
session.close();
System.out.println("添加完成");
}
@Override
public void update(User user) {
//2.得到Session
SqlSession session = factory.openSession();
//3.添加
session.update("com.study.dao.UserDao.update",user);
//4.提交
session.commit();
//5.关闭
session.close();
System.out.println("更新成功");
}
@Override
public void delete(Integer id) {
//2.得到Session
SqlSession session = factory.openSession();
//3.添加
session.delete("com.study.dao.UserDao.delete",id);
//4.提交
session.commit();
//5.关闭
session.close();
System.out.println("删除成功");
}
@Override
public User queryById(Integer id) {
//2.得到Session
SqlSession session = factory.openSession();
//3.添加
User user = session.selectOne("com.study.dao.UserDao.queryById",id);
//4.提交
session.commit();
//5.关闭
session.close();
System.out.println("查询完成");
return user;
}
@Override
public List queryAll() {
//2.得到Session
SqlSession session = factory.openSession();
//3.添加
List listuser = session.selectList("com.study.dao.UserDao.queryAll");
//4.提交
session.commit();
//5.关闭
session.close();
System.out.println("查询完成");
return listuser;
}
}
下面只提供一个添加的例子,其他的请自己写。
package com.study.test;
import java.util.Date;
import com.study.dao.UserDao;
import com.study.dao.Impl.UserDaoImpl;
import com.study.domain.User;
public class MybatisTest {
public static void main(String[] args) {
UserDao dao = new UserDaoImpl();
User user = new User("帅楼主2",28,"苏州",new Date());
dao.add(user);
}
}