pom文件中添加依兰
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
数据库配置
<?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> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="urls" value="url:jdbc:mysql://localhost:3306/xl?serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="123456"/> </properties> <!--设置--> <settings> <!--显示SQL语句,以便于调试--> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${urls}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!--映射文件--> <mappers> <mapper resource="mappers/PersonMapper.xml"></mapper> </mappers> </configuration>
创建mapper文件
<?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.xl.dao.PersonDao"> <insert id="insert" parameterType="com.xl.pojo.Person"> insert into person(id,username,password) values (#{id},#{userName},#{passWord});</insert> <delete id="deletes" parameterType="com.xl.pojo.Person"> delete from person where id=${id} </delete> <update id="updates" parameterType="com.xl.pojo.Person"> update person set userName = #{userName}, passWord = #{passWord} where id=${id} </update> <select id="selected" parameterType="java.util.Map" resultType="com.xl.pojo.Person"> select * from person where id = ${id} </select> </mapper>
创建
public interface PersonDao { void insert(Person person); void deletes(int id); void updates(Person person); Person selected(int id); }
创建ben
package com.xl.pojo; public class Person { private Integer id; private String userName; private String passWord; private String realName; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } @Override public String toString() { return "User{" + "id=" + id + ", userName='" + userName + '\'' + ", passWord='" + passWord + '\'' + ", realName='" + realName + '\'' + '}'; } }
单元测试
public class PersonDaoTest { @org.junit.Test public void insert() { PersonDao getmapper = SqlManger.getInstance().getmapper(PersonDao.class); Person person = new Person(); person.setPassWord("hello"); person.setUserName("xueliang"); getmapper.insert(person); SqlManger.getInstance().getSqlSeecion().commit(); } @Test public void deletes() { PersonDao getmapper = SqlManger.getInstance().getmapper(PersonDao.class); getmapper.deletes(2); SqlManger.getInstance().getSqlSeecion().commit(); } @Test public void updates() { PersonDao getmapper = SqlManger.getInstance().getmapper(PersonDao.class); Person person = new Person(); person.setPassWord("圣诞节还是肯定"); person.setUserName("十点上课"); person.setId(1); getmapper.updates(person); SqlManger.getInstance().getSqlSeecion().commit(); } @Test public void selects() { PersonDao getmapper = SqlManger.getInstance().getmapper(PersonDao.class); Person selected = getmapper.selected(1); System.out.println("===" + selected.getUserName()); SqlManger.getInstance().getSqlSeecion().commit(); } }
SqlManger
public class SqlManger { private static SqlManger instance = new SqlManger(); private SqlSession sqlSession=null; private SqlManger() { } public static SqlManger getInstance() { return instance; } public <T> T getmapper(Class<T> tClass) { InputStream is = null; T mapper = null; try { is = Resources.getResourceAsStream("mybatis.xml"); SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); sqlSession = sqlSessionFactoryBuilder.build(is).openSession(); mapper = (T) sqlSession.getMapper(tClass); } catch (IOException e) { e.printStackTrace(); } return mapper; } public SqlSession getSqlSeecion() { return sqlSession; } }