这两天看看mybatis,这个轻量级orm框架,看后面把它整合进项目中。把JDBC分离出来。这里只是简单环境搭建,未涉及原理。
1.创建工程
这里为了方便直接用一个模板
创建完毕
2.引入mybatis所需jar包
org.mybatis mybatis 3.4.1 //测试相关 mysql mysql-connector-java 6.0.6 //日志相关 junit junit 4.12 log4j log4j 1.2.17 org.slf4j slf4j-log4j12 1.7.25
3.创建一个实体类对应数据字段,并在数据库中创建对应的数据表
public class User implements Serializable { private static final long serialVersionUID = 8104961490512068314L; private int id; private String name; private String dept; private String phone; private String website; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDept() { return dept; } public void setDept(String dept) { this.dept = dept; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getWebsite() { return website; } public void setWebsite(String website) { this.website = website; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", dept='" + dept + '\'' + ", phone='" + phone + '\'' + ", website='" + website + '\'' + '}'; }}
4.添加mysql配置文件,mybatis配置文件
mybatis-config.xml
mysql.properties:
jdbc.databaseurl=jdbc:mysql:///javaweb_community?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=falsejdbc.driver=com.mysql.cj.jdbc.Driverjdbc.username=rootjdbc.password=jdbc.maxActive=100jdbc.maxWait=5000jdbc.filters=wall,stat
ps: 这里mysql的jar包版本在6.0以上的和以前版本有一点差异。
5.添加mapper类接口以及对应mapper.xml
package com.mybatis.demo.mapper;import com.mybatis.demo.Entity.User;public interface UserMapper { User GetUserByID(Integer id) throws Exception;}
6.在配置文件中注册该xml.
7.编写单元测试,通过sqlSession 操作数据库
public class AppTest { /** * Rigorous Test :-) */ @Test public void shouldAnswerWithTrue() { try { //使用MyBatis提供的Resources类加载mybatis的配置文件 Reader reader = Resources.getResourceAsReader("mybatis/mybatis-config.xml"); //构建sqlSession的工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session= sessionFactory.openSession(); UserMapper mapper=session.getMapper(UserMapper.class); User user= mapper.GetUserByID(1); System.out.println(user.toString()); session.commit(); } catch (Exception e) { e.printStackTrace(); } }}