mybatis:一个最简单的实例

来源:互联网 发布:linux打开iso文件 编辑:程序博客网 时间:2024/06/05 14:40

什么是 mybatis ?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。


1、创建 mybatis 项目


2、引入 mybatis 相应jar 包


3、在 MySQL 中创建一张 student 表


4、创建 Student.java 

package com.java.mybatis.entity;public class Student {private int id;private String username;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Student() {super();}public Student(String username, int age) {super();this.username = username;this.age = age;}@Overridepublic String toString() {return "Student [id=" + id + ", username=" + username + ", age=" + age+ "]";}}

5、创建 StudentDao.java

package com.java.mybatis.mappers;import com.java.mybatis.entity.Student;public interface StudentDao {int add(Student student);}

6、对应的 xml 配置文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.java.mybatis.mappers.StudentDao"><insert id="add" parameterType="Student"  >insert into t_student values(null,#{username},#{age})</insert></mapper> 

7、创建 mybatis 的会话工厂

package com.java.mybatis.factory;import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SqlSessionFactoryUtil {private static SqlSessionFactory sqlSessionFactory;private static SqlSessionFactory getInstance(){if (sqlSessionFactory == null) {try {InputStream in = Resources.getResourceAsStream("mybatis-config.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);return sqlSessionFactory;} catch (IOException e) {e.printStackTrace();}}return sqlSessionFactory;}public static SqlSession getSession(){return getInstance().openSession();}}

8、创建 jdbc.properties 文件

jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/db_mybatisjdbc.username=rootjdbc.password=root

9、mybatis 的配置文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="jdbc.properties"/><typeAliases><typeAlias alias="Student" type="com.java.mybatis.entity.Student"/></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="${jdbc.driverClassName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/java/mybatis/mappers/StudentMapper.xml" /></mappers></configuration>

10、测试类

package com.java.mybatis.test;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import com.java.mybatis.entity.Student;import com.java.mybatis.factory.SqlSessionFactoryUtil;import com.java.mybatis.mappers.StudentDao;public class StudentTest {@Testpublic void testAddStudent(){SqlSession session = SqlSessionFactoryUtil.getSession();StudentDao studentDao = session.getMapper(StudentDao.class);Student student = new Student( "jack", 21);int result = studentDao.add(student);session.commit();if (result > 0) {System.out.println("success");}}}

到此结束啦~~

原创粉丝点击