student表结构
util包下写对应的SqlSessionUtil 工具类
package util;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionUtil {
public static SqlSession getSession(){
SqlSessionFactoryBuilder factoryBuilder=new SqlSessionFactoryBuilder();
InputStream config=SqlSessionUtil.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory sf= factoryBuilder.build(config);
SqlSession session=sf.openSession();
return session;
}
}
创建entity包,在entity包下,创建学生类
注意学生类属性名要与student表的列名相同
package entity;
import java.io.Serializable;
public class StudentBean implements Serializable{
private static final long serialVersionUID = 1L;
private String userid;
private String name;
private String school;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
}
在entity包下创建,学生映射文件StudentBeanSQL.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="/">
<insert id="addStudent" parameterType="entity.StudentBean">
insert into student(userid,name,school) values(#{userid},#{name},#{school});
</insert>
</mapper>
创建dao包,在包下创建StudentDao接口,写抽象方法addStudent(StudentBean stu)
package dao;
import entity.StudentBean;
public interface StudentDao {
public void addStudent(StudentBean stu);
}
创建dao.impl包,在包下创建StudentDaoImpl 实现类
package dao.impl;
import org.apache.ibatis.session.SqlSession;
import util.SqlSessionUtil;
import dao.StudentDao;
import entity.StudentBean;
public class StudentDaoImpl implements StudentDao{
@Override
public void addStudent(StudentBean stu) {
SqlSession session =SqlSessionUtil.getSession();
session.insert("addStudent",stu);
session.commit();
session.close();
}
}
在src包下的SqlMapConfig.xml在主配置文件中配置Mapper,蓝色字部分是固定格式
<?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="environment">
<environment id="environment">
<transactionManager type="JDBC"> </transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/student"/>
<property name="username" value="root"/>
<property name="password" value="g"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="entity/StudentBeanSQL.xml"/>
</mappers>
</configuration>
创建test包,在test包下创建带mian方法的TestStudentDao 类,运行为Java Application
package test;
import dao.StudentDao;
import dao.impl.StudentDaoImpl;
import entity.StudentBean;
public class TestStudentDao {
public static void main(String[] args) {
StudentDao studao=new StudentDaoImpl();
StudentBean stu1=new StudentBean();
stu1.setUserid("u7");
stu1.setName("张丽丽");
stu1.setSchool("清华大学");
studao.addStudent(stu1);
}
}