使用原始Dao进行增删改查
创建emp表的实体类:
public class Emp {
private Integer empno;
private String ename;
private String job;
private Integer mgr;
private Date hiredate;
private Integer sal;
private Integer comm;
private Integer deptno;
public Integer getEmpno() {
return empno;
}
public void setEmpno(Integer empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Integer getMgr() {
return mgr;
}
public void setMgr(Integer mgr) {
this.mgr = mgr;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
public Integer getSal() {
return sal;
}
public void setSal(Integer sal) {
this.sal = sal;
}
public Integer getComm() {
return comm;
}
public void setComm(Integer comm) {
this.comm = comm;
}
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
public Emp(Integer empno, String ename, String job, Integer mgr, Date hiredate, Integer sal, Integer comm,
Integer deptno) {
super();
this.empno = empno;
this.ename = ename;
this.job = job;
this.mgr = mgr;
this.hiredate = hiredate;
this.sal = sal;
this.comm = comm;
this.deptno = deptno;
}
public Emp() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + ", hiredate=" + hiredate
+ ", sal=" + sal + ", comm=" + comm + ", deptno=" + deptno + "]";
}
}
创建一个接口:
public interface EmpMapper {
public List<Emp> selectEmpAll();
public Emp selectEmpOne(Integer empno);
public void insertEmp();
public void updateEmp();
public void deleteEmp(Integer empno);
}
实现接口的所有方法:
public class EmpImpl implements EmpMapper {
@Override
public List<Emp> selectEmpAll() {
// TODO Auto-generated method stub
SqlSession session = JDBCUtil.getSession();
List<Emp> emplist = session.selectList("Emp.selectEmpAll");
for (Emp emp : emplist) {
System.out.println(emp.toString());
}
return emplist;
}
@Override
public Emp selectEmpOne(Integer empno) {
// TODO Auto-generated method stub
SqlSession session = JDBCUtil.getSession();
Emp emp = session.selectOne("Emp.selectEmpById",empno);
System.out.println(emp.toString());
return emp;
}
@Override
public void insertEmp() {
// TODO Auto-generated method stub
SqlSession session = JDBCUtil.getSession();
Emp e = new Emp();
e.setEmpno(8859);
e.setEname("钢铁侠");
e.setJob("架构师");
e.setMgr(888);
e.setHiredate(new java.util.Date());
e.setSal(8000);
e.setComm(5000);
e.setDeptno(40);
session.insert("Emp.insertEmp",e);
session.commit();
session.close();
}
@Override
public void updateEmp() {
// TODO Auto-generated method stub
SqlSession session = JDBCUtil.getSession();
Emp e = new Emp();
e.setEmpno(8859);
e.setEname("蜘蛛侠");
session.update("Emp.updateEmp",e);
session.commit();
session.close();
}
@Override
public void deleteEmp(Integer empno) {
// TODO Auto-generated method stub
SqlSession session = JDBCUtil.getSession();
session.delete("Emp.deleteEmp",empno);
session.commit();
session.close();
}
}
JDBC工具类:
public class JDBCUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
InputStream inputStream;
try {
inputStream = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static SqlSession getSession() {
SqlSession session=null;
try {
session = sqlSessionFactory.openSession();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return session;
}
public static void close(SqlSession session) {
if(session!=null) {
session.close();
}
}
}
mapperxml配置文件:
<?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="Emp">
<select id="selectEmpById" resultType="com.domian.Emp" parameterType="int">
select * from emp where empno = #{empno}
</select>
<select id="selectEmpAll" resultType="com.domian.Emp" parameterType="com.domian.Emp">
select * from emp
</select>
<insert id="insertEmp" parameterType="com.domian.Emp">
insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{deptno})
</insert>
<update id="updateEmp" parameterType="com.domian.Emp">
update emp set ename=#{ename} where empno=#{empno}
</update>
<delete id="deleteEmp" parameterType="int">
delete emp where empno=#{empno}
</delete>
</mapper>
测试类:
public class EmpTest {
public static void main(String[] args) {
EmpMapper emp = new EmpImpl();
// emp.selectEmpAll();
// emp.insertEmp();
// emp.updateEmp();
// emp.deleteEmp(8859);
emp.selectEmpOne(8859);
}
}
使用mapper代理方式进行增删改查:
public class Dept {
private Integer deptno;
private String dname;
private String loc;
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
public Dept(Integer deptno, String dname, String loc) {
super();
this.deptno = deptno;
this.dname = dname;
this.loc = loc;
}
public Dept() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Dept [deptno=" + deptno + ", dname=" + dname + ", loc=" + loc + ", getDeptno()=" + getDeptno()
+ ", getDname()=" + getDname() + ", getLoc()=" + getLoc() + ", getClass()=" + getClass()
+ ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]";
}
}
public interface DeptMapper {
public List<Dept> selectDeptAll();
public Dept selectDeptOne(Integer deptno);
public void insertDept(Dept dept);
public void updateDept(Dept dept);
public void deleteDept(Integer id);
}
public class DeptTest {
public static void main(String[] args) throws IOException {
// selectOne();
// insert();
// update();
delete();
selectAll();
}
public static List<Dept> selectAll() throws IOException{
InputStream inputStream = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
DeptMapper deptMapper = session.getMapper(com.neusoft.mapper.DeptMapper.class);
List<Dept> depts = deptMapper.selectDeptAll();
for (Dept dept2 : depts) {
System.out.println(dept2.toString());
}
return depts;
}
public static Dept selectOne() throws IOException {
InputStream inputStream = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
DeptMapper deptMapper = session.getMapper(com.neusoft.mapper.DeptMapper.class);
Dept dept = deptMapper.selectDeptOne(10);
System.out.println(dept.toString());
return dept;
}
public static void insert() throws IOException {
InputStream inputStream = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
DeptMapper deptMapper = session.getMapper(com.neusoft.mapper.DeptMapper.class);
Dept dept = new Dept();
dept.setDeptno(50);
dept.setDname("技术部");
dept.setLoc("广州");
deptMapper.insertDept(dept);
session.commit();
session.close();
}
public static void update() throws IOException {
InputStream inputStream = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
DeptMapper deptMapper = session.getMapper(com.neusoft.mapper.DeptMapper.class);
Dept dept = new Dept();
dept.setDeptno(50);
dept.setLoc("深圳");
deptMapper.updateDept(dept);
session.commit();
session.close();
}
public static void delete() throws IOException {
InputStream inputStream = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
DeptMapper deptMapper = session.getMapper(com.neusoft.mapper.DeptMapper.class);
deptMapper.deleteDept(50);
session.commit();
session.close();
}
}
<?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="com.mapper.DeptMapper">
<select id="selectDeptAll" resultType="Dept">
select deptno,dname,loc from dept
</select>
<select id="selectDeptOne" resultType="Dept" parameterType="int">
select deptno,dname,loc from dept where deptno=#{deptno}
</select>
<insert id="insertDept" parameterType="Dept">
insert into dept(deptno,dname,loc) values(#{deptno},#{dname},#{loc})
</insert>
<update id="updateDept" parameterType="Dept">
update dept set loc=#{loc} where deptno=#{deptno}
</update>
<delete id="deleteDept" parameterType="int">
delete dept where deptno=#{deptno}
</delete>
</mapper>