一、核心配置文件

 <?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>
<!-- 最开始加载引用db.properties文件 -->
<properties resource="db.properties"/>
<!-- 取别名 以下情况别名为类名 -->
<typeAliases>
<package name="com.myBatis.entity"/>
</typeAliases>
<!--
development : 开发模式
work : 工作模式
-->
<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 >
<mapper resource="com/myBatis/mapper/userMapper.xml"/>
</mappers>
</configuration>

二、实体类

 package com.myBatis.entity;

 public class EUser {
private Integer id;
private String name;
private Integer age;
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public String toString() {
return "EUser [id=" + id + ", name=" + name + ", age=" + age + "]";
} }

EUser.java

三、实体类的映射文件

 <?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,namespace的值习惯上设置成包名+sql映射文件名,
这样就能够保证namespace的值是唯一的
-->
<mapper namespace="com.myBatis.mapper.userMapper.xml">
<!-- 根据id查询得到一个user对象 -->
<select id="getUser" parameterType="int" resultType="EUser">
select * from users where id=#{id}
</select>
<!-- 根据id查询删除一个user对象 -->
<delete id="deleteUser" parameterType="EUser">
delete from users where id=#{id}
</delete>
<!-- 创建用户(Create) -->
<insert id="addUser" parameterType="EUser">
insert into users values(null,#{name},#{age})
</insert>
<!-- 修改用户(Update) -->
<update id="updateUser" parameterType="EUser">
update users set name=#{name},age=#{age} where id=#{id}
</update>
</mapper>

四、封装类

 package com.myBatis.util;

 import java.io.IOException;
import java.io.Reader; 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 myBtaisUtil {
static Reader reader=null;
static SqlSessionFactory sqlSessionFactory= null;
static SqlSession sqlSession = null;
/**
* 加载核心配置文件
* 获取SqlSessionFactory
* @return SqlSessionFactory
*/
public static SqlSessionFactory getsqlSessionFactory() {
try {
reader = Resources.getResourceAsReader("SqlMapConfig.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
return sqlSessionFactory;
}
/**
* 获取SqlSession
* @return SqlSession
*/
public static SqlSession getsqlSession() {
return sqlSession= getsqlSessionFactory().openSession(true);
}
}

myBtaisUtil.java

五、properties文件

 driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///mybatis
username=root
password=root

db.properties

六、测试类

 package myBatisTest;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test; import com.myBatis.entity.EUser;
import com.myBatis.util.myBtaisUtil; public class TestUser {
//修改
@Test
public void testUpdateUser() {
SqlSession sqlSession=myBtaisUtil.getsqlSession();
//先查找
String select = "com.myBatis.mapper.userMapper.xml.getUser";
EUser user = sqlSession.selectOne(select, 7);
System.out.println(user);
//再修改
user.setName("改啦7777");
user.setAge(50);
String update = "com.myBatis.mapper.userMapper.xml.updateUser";
int i = sqlSession.update(update, user);
System.out.println(i);
EUser user1= sqlSession.selectOne(select, 7);
System.out.println(user1);
}
//添加
@Test
public void testAddUser() {
SqlSession sqlSession=myBtaisUtil.getsqlSession();
String add = "com.myBatis.mapper.userMapper.xml.addUser";
EUser user = new EUser();
user.setName("用户孤傲苍狼");
user.setAge(20);
int i = sqlSession.insert(add, user);
System.out.println(i);
}
//删除
@Test
public void testDeleteUser() {
SqlSession sqlSession=myBtaisUtil.getsqlSession();
String delete = "com.myBatis.mapper.userMapper.xml.deleteUser";
int i= sqlSession.delete(delete, 6);
System.out.println(i);
}
//查询
@Test
public void testGetUser() {
SqlSession sqlSession=myBtaisUtil.getsqlSession();
String select = "com.myBatis.mapper.userMapper.xml.getUser";
EUser user = sqlSession.selectOne(select, 1);
System.out.println(user);
}
}

TestUser.java

注:

类的映射文件中的<mapper namespace="com.myBatis.mapper.userMapper.xml">  映射文件后缀名可不写

测试类中的 String select = "com.myBatis.mapper.userMapper.xml.getUser";   映射文件后缀名可不写

参考:MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

MyBatis学习总结(三)——优化MyBatis配置文件中的配置

学习 MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突

最新文章

  1. python 生成验证码
  2. IIS7.5+WebConfig实现页面伪静态和301重定向
  3. JS_ECMA基本语法中的几种封装的小函数
  4. 实现iOS长时间后台的两种方法:Audiosession和VOIP(转)
  5. oracle10~11g在centos5~6版本上安装整体总结如下
  6. Java NIO和IO的主要区别
  7. DreamWeaver文件保存时,提示&quot;发生共享违例&quot;问题的解决方法
  8. MyEclipse启动时报 Unable to acquire application service. Ensure that the org.eclips
  9. Base64实现android端图片上传到server端
  10. quartz任务时间调度入门使用
  11. python遇到的知识点
  12. 学习DRF之前
  13. tkinter做一个简单的登陆页面(十六)
  14. 在学习DRF之前
  15. jquery函数封装
  16. 优化SQL Server的内存占用之执行缓存
  17. 编写高质量代码改善C#程序的157个建议——建议18:foreach不能代替for
  18. swarm 服务器安装
  19. HDU2255:奔小康赚大钱(KM算法)
  20. openGL 预定义变量04

热门文章

  1. laravel-admin后台框架基本使用
  2. pycharm使用已经配置好的virtualenv环境
  3. python爬取百度图片
  4. Java数组反转
  5. 【NOIP2014模拟11.3】蛋糕
  6. 【NOIP2016提高A组模拟9.15】Osu
  7. springboot maven打包插件
  8. java+struts上传文件夹文件
  9. HDU 2612 Find a way(双向bfs)
  10. Windows10 + VS2015 (Win SDK10)环境下的64位 VTK编译小结