一、核心配置文件

 <?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学习总结(四)——解决字段名与实体类属性名不相同的冲突

【MyBatis】----【MyBatis】--封装---别名---properties的更多相关文章

  1. springboot整合mybatis及封装curd操作-配置文件

    1 配置文件  application.properties  #server server.port=8090 server.address=127.0.0.1 server.session.tim ...

  2. mybatis:"configuration" must match "(properties?,settings?,typeAliase.....

    在运行mybatis配置文件的时候,出现错误: mybatis:"configuration" must match "(properties?,settings?,ty ...

  3. spring boot mybatis XML文件读取properties配置信息

    配置文件application.properties中相关配置信息可以在部署以后修改,引用配置信息可以在代码和mybatis的映射文件中 1.JAVA代码 可以通过变量去读取 application. ...

  4. Mybatis中的别名的起源

    1.Mybatis中的别名的起源 我们对别名的认识最初是在数据库中,例如:数据库之select时取别名的做法是这样的: select 列名 as 列别名,//方法1 列名 列别名,//方法2 from ...

  5. (转)MyBatis & MyBatis Plus

    (二期)3.mybatis与mybatis plus [课程三]mybatis ...运用.xmind0.1MB [课程三]mybatis...机制.xmind0.2MB [课程三]mybatis与j ...

  6. MyBatis -01- 初识 MyBatis + MyBatis 环境搭建

    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...

  7. 项目脚手架 - 《Spring Boot + MyBatis + MyBatis Generator》

    前言 最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个"框架",其中虽然很多基础代码可以Copy,但也会浪费不少时间. 基于这个情况,我打算在GitHub上创建 ...

  8. springmvc 项目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql语句 mybatis应用

    百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBat ...

  9. 【SSM 7】Mybatis底层封装思路

    一.基本概述 在前面的博客中介绍到Mybatis的逆向生成工具,为我们生成了每个实体的基本增删改查的代码,那么每个实体都是那么多的代码,我们很容易的发现,有很大的相似性.对于这部分代码,应该予以抽象封 ...

随机推荐

  1. 【转载】平时的你VS面试的你

    https://www.cnblogs.com/rjzheng/p/10275453.html 引言 大家在面试的时候,特别是最后一面HR面,是不是经常都说自己咳咳咳.博主特意总结了一下平时的你和面试 ...

  2. 接口开发中 遇到的坑——Java byte与C# byte 数据转换问题

    前提: 公司与其他公司进行接口对接 需要使用Byte[]数据流传输数据 原本想法如下:直接IO生成就ok了 using System; using System.IO; using System.Te ...

  3. 【转】rsa公钥和私钥的生成

    转:https://www.cnblogs.com/zengsf/p/10136886.html 在liunx环境中 openssl 然后生成私钥: genrsa -out app_private_k ...

  4. python打印实心等边三角形和空心等边三角形

    #1 打印实心等边三角形 n = 5 for i in range(1, n+1): # 控制三角形的高,也就是层数 for k in range(2*(n-i)): # 控制每层第一个*的空格,从最 ...

  5. Django学习系列7:使用模板解决“不测试常量”规则,使用模板重构

    之前写的lists/tests.py中的单元测试,要查找特定的HTML字符串,但这不是测试HTML的高效方法. 单元测试规则之一“不测试常量”,编写断言检测HTML字符串中是否有制定的字符串序列,不是 ...

  6. Luogu P2619 [国家集训队2]Tree I 凸优化,wqs二分

    新学的科技.设\(f(x)\)为选\(x\)条白色边的时候的最小生成树权值和,那么可以猜到它应该是一个下凸函数的形式. 如图,图中\(x\)坐标表示选的白色边条数,\(y\)坐标表示获得的权值,那么我 ...

  7. Java中InputStream和String之间的转换方法

    1.InputStream转化为String1.1 JDK原生提供方法一:byte[] bytes = new byte[0];bytes = new byte[inputStream.availab ...

  8. Xshell6-项目使用

    前端开发中,涉及服务器的地方一般都交给后端处理,这样有时候很不方便,所以,自己来上传服务器是非常爽的啦 工具: Xshell6 传送门: http://www.netsarang.com/produc ...

  9. 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Value

    题目 分析 易证,最优的答案一定是按\(w_i\)从小到大放. 我们考虑dp, 先将w从小到大排个序,再设\(f_{i,j}\)表示当前做到第i个物品,已选择了j个物品的最大值.转移就是\[f_{i, ...

  10. JS分组

    var SplitArray = function (N, Q) { var R = [], F; for (F = 0; F < Q.length;) R.push(Q.slice(F, F ...