Mybatis (简单)
MyBatis 是一款优秀的持久层框架,用来取代传统JDBC
需要的jar

一·接口实现
mybatis的主配置文件
mybatis-config.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> <!--外部导入properties--!> <properties resource="db.properties"/> <!-- 别名 --!> <typeAliases> <package name="javabean"/> </typeAliases> <!-- 环境配置 --!> <environments default="development"> <environment id="development"> <!-- 事务处理器 --!> <transactionManager type="JDBC" /> <!-- 数据源 --!> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!-- 映射 --!> <mappers> <!-- 加载映射的xml文件(直接写包-用package标签) --!> <mapper resource="StudentMapper/StudentMapper.xml"/> </mappers> </configuration>
db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///123
username=root
password=123456
写接口文件和其对应的映射文件(mapper)

注意:接口文件和其对应的映射文件名称必须相同
StudentMapper.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"> <!-- namespace必须写接口文件的全路径 --!> <mapper namespace="StudentMapper.StudentMapper"> <!-- 查询语句 resultType 返回类型 --!> <select id="selectStudentList" resultType="Student"> select * from student </select> <!-- 添加语句 parameterType 传入值类型 --!> <insert id="addStudent" parameterType="Student"> insert into student values(#{sid},#{sname},#{score},#{address},#{cid}) </insert> </mapper>
StudentMapper.java
package StudentMapper; import java.util.List; import javabean.Student; public interface StudentMapper { //这里的方法名(addStudent)称必须和其对应xml映射文件id相同 public void addStudent(Student student); public List<Student> selectStudentListAll(Map map); }
javabean
略
从 XML 中构建 SqlSessionFactory
//从主配置文件获取输入流stream InputStream stream = Resources.getResourceAsStream("mybatis-config.xml"); //通过stream构建 SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(stream); //通过SqlSessionFactory 获取到 sqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); //利用sqlSession.getMapper()得到接口文件 StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class); //调用接口方法实现增删改查 studentMapper.addStudent(new Student(10, "好家伙", 99.9, "中国", 1)); //开启事务 sqlSession.commit();
二·注解实现(内容基本不变)
删除xml接口映射文件

StudentMapper.java(增加注解)
package StudentMapper; import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import javabean.Student; public interface StudentMapper { @Insert("insert into student values(#{sid},#{sname},#{score},#{address},#{cid})") public void addStudent(Student student); @Delete("delete from student where sid=#{sid}") public void deleteStudent(int sid); @Update("update student set sname=#{sname},score=#{score},address=#{address},cid=#{cid} where sid=#{sid}") public void updateStudent(Student student); @Select("select * from student where sid = #{sid}") public Student selectStudentById(int sid); @Select("select * from student") public List<Student> selectStudentList(); }
mybatis的主配置文件修改内容

Mappers修改为以下(Xml文件删除所有改为扫描所在包)

人生永远无法回头,就连这平淡不惊的一幕,终有一日也会碎落满地

浙公网安备 33010602011771号