这里直接附上代码:

 1 package com.qijian.pojo;
2
3 import org.apache.ibatis.type.Alias;
4
5
6 public class User {
7 private int id;
8 private String name;
9 private String pwd;
10
11 @Override
12 public String toString() {
13 return "User{" +
14 "id=" + id +
15 ", name='" + name + '\'' +
16 ", pwd='" + pwd + '\'' +
17 '}';
18 }
19
20 public User(int id, String name, String pwd) {
21 this.id = id;
22 this.name = name;
23 this.pwd = pwd;
24 }
25
26 public int getId() {
27 return id;
28 }
29
30 public void setId(int id) {
31 this.id = id;
32 }
33
34 public String getName() {
35 return name;
36 }
37
38 public void setName(String name) {
39 this.name = name;
40 }
41
42 public String getPwd() {
43 return pwd;
44 }
45
46 public void setPwd(String pwd) {
47 this.pwd = pwd;
48 }
49 }
 1 package com.qijian.utils;
2
3 import org.apache.ibatis.io.Resources;
4 import org.apache.ibatis.session.SqlSession;
5 import org.apache.ibatis.session.SqlSessionFactory;
6 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
7
8 import java.io.IOException;
9 import java.io.InputStream;
10
11 public class MyBatisUtils {
12 private static SqlSessionFactory sqlSessionFactory;
13 private static String resource = "mybatis-Config.xml";
14 private static InputStream inputStream;
15
16 static {
17
18 //使用mybatis的第一步:获取 SqlSessionFactory对象
19 try {
20 inputStream = Resources.getResourceAsStream(resource);
21 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
22 } catch (IOException e) {
23 e.printStackTrace();
24 }
25 }
26 //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
27 // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
28 public static SqlSession getSqlSession() throws IOException {
29 return sqlSessionFactory.openSession();
30 }
31
32 }
 1 package com.qijian.dao;
2
3 import com.qijian.pojo.User;
4
5 import java.util.List;
6
7 public interface UserMapper {
8
9 //查询全部用户
10 List<User> getUserList();
11
12 //根据id查询用户
13 User getUserById(int id);
14
15 //insert一个用户
16 int addUser(User user);
17
18 //修改一个用户
19 int updateUser(User user);
20
21 //删除一个用户
22 int deleteUser(int id);
23
24 }
 1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper
3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5 <mapper namespace="com.qijian.dao.UserMapper">
6 <select id="getUserList" resultType="User">
7 select * from mybatis.user
8 </select>
9
10 <select id="getUserById" parameterType="int" resultType="com.qijian.pojo.User">
11 select *from mybatis.user where id = #{id};
12 </select>
13
14 <insert id="addUser" parameterType="com.qijian.pojo.User">
15 insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd});
16 </insert>
17
18
19 <update id="updateUser" parameterType="com.qijian.pojo.User">
20 update mybatis.user
21 set name = #{name},pwd = #{pwd}
22 where id=#{id};
23 </update>
24
25 <delete id="deleteUser" parameterType="int">
26 delete from mybatis.user where id=#{id};
27 </delete>
28
29 </mapper>

db.properties文件如下

1 driver = com.mysql.jdbc.Driver
2 url = jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8
3 username = root
4 password = root

mybatis-config.xml文件如下:

 1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE configuration
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
5
6 <configuration>
7
8 <!--如果一个属性在不只一个地方进行了配置,那么,MyBatis 将按照下面的顺序来加载:
9 首先读取在 properties 元素体内指定的属性。
10 然后根据 properties 元素中的 resource 属性读取类路径下属性文件,或根据 url 属性指定的路径读取属性文件,并覆盖之前读取过的同名属性。
11 最后读取作为方法参数传递的属性,并覆盖之前读取过的同名属性。
12 -->
13 <properties resource="db.properties">
14 <property name="password" value="1234"/>
15 </properties>
16
17 <!-- 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为-->
18 <!-- <settings>-->
19 <!-- <setting name="" value=""/>-->
20 <!-- </settings>-->
21
22 <!-- 类型别名可为 Java 类型设置一个缩写名字。
23 它仅用于 XML 配置,意在降低冗余的全限定类名书写
24 当这样配置时,User 可以用在任何使用 com.qijian.pojo.User 的地方
25 -->
26 <!-- 每一个在包 com.qijian.pojo 中的 Java Bean,
27 在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。
28 比如 com.qijian.pojo.User 的别名为 user;
29 若有注解,则别名为其注解值
30 @Alias(”别名")-->
31 <typeAliases>
32 <typeAlias alias="User" type="com.qijian.pojo.User"/>
33 <package name="com.qijian.pojo.User"/>
34 </typeAliases>
35
36 <environments default="development">
37 <environment id="development">
38 <transactionManager type="JDBC"/>
39 <dataSource type="POOLED">
40 <property name="driver" value="${driver}"/>
41 <property name="url" value="${url}"/>
42 <property name="username" value="${username}"/>
43 <property name="password" value="${password}"/>
44 </dataSource>
45 </environment>
46
47 </environments>
48
49 <!-- 每一个Mapper.xml都需要在Mybatis核心配置文件中注册-->
50 <!-- 注意:
51 使用class绑定注册时,接口和它的Mapper配置文件必须同名
52 使用class绑定注册时,接口和它的Mapper配置文件必须在同一个包下-->
53 <mappers>
54 <mapper resource="com/qijian/dao/UserMapper.xml"/>
55 <!-- <mapper class="com.qijian.dao.UserMapper"/>-->
56 </mappers>
57
58 </configuration>
 1 package com.qijian.dao;
2
3 import com.qijian.pojo.User;
4 import com.qijian.utils.MyBatisUtils;
5 import org.apache.ibatis.session.SqlSession;
6 import org.junit.Test;
7
8 import java.io.IOException;
9 import java.util.List;
10
11 public class UserDaoTest {
12 @Test
13 public void testGetUserLike() throws IOException {
14 SqlSession sqlSession = MyBatisUtils.getSqlSession();
15 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
16 List<User> UserList = userMapper.getUserList();
17
18 for (User user:UserList) {
19 System.out.println(user);
20 }
21
22 }
23
24 }

结构:

注意:

  该项目的改进主要是针对mybatis-config.xml文件

mybatis实现MySQL数据库的增删改查之二的更多相关文章

  1. mybatis实现MySQL数据库的增删改查

    环境: jdk1.8 mysql5.7 maven3.6.0 IDEA 什么是mybatis框架? MyBatis 是一款优秀的持久层框架, 它支持自定义 SQL.存储过程以及高级映射. MyBati ...

  2. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  3. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  4. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  5. 通过Loadruner对mysql数据库进行增删改查

    操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库  --> 数据库 ...

  6. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  7. c#winform简单实现Mysql数据库的增删改查的语句

    通过简单的SQL语句实现对数据库的增删改查. 窗口如下: 定义打开与关闭连接函数,方便每次调用: 增加指令: 删除指令: 修改指令: 查找指令: 表格情况:

  8. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  9. C++ API方式连接mysql数据库实现增删改查

    这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...

随机推荐

  1. odoo13之右上角弹出提示框

    前言 在odoo中已经提供好了右上角弹出提示框的接口,我们只需要调用即可: 而提示框的实现又分为前端js实现和后段函数实现,前后端实现的效果相同. 实现效果图 前端实现提示框 在前端中显示提示框最常用 ...

  2. 20191209_Centos7.2使用yum安装mysql

    1. 下载mysql的rpm包 [root@izwz91qnvovd6suufon1ccz ~]# wget http://dev.mysql.com/get/mysql57-community-re ...

  3. Python中repr(变量)和str(变量)的返回值有什么区别和联系

    Python中repr(变量)和str(变量)都返回一个描述对象的字符串,二者有关联又有不同.由于Python3.0后都是新式类,我们的分析也是基于新式类进行的.基于object派生的新式类中二者之间 ...

  4. PyQt(Python+Qt)学习随笔:QAbstractItemView的alternatingRowColors属性

    老猿Python博文目录 老猿Python博客地址 alternatingRowColors属性用于控制视图中不同行记录背景色是否使用交替不同的颜色. 如果此属性为True,则将使用QPalette. ...

  5. dom 继承树

  6. 软件工程团队作业-测试与发布(Alpha版本)

    Alpha版本测试报告 功能测试报告 概述 测试阶段:alpha验收测试 测试方法:手动功能测试 测试环境(测试矩阵) Windows操作系统(win10)附带"Windows讲述人&quo ...

  7. 第 7 篇 Scrum 冲刺博客

    每天举行会议 会议照片: 昨天已完成的工作与今天计划完成的工作及工作中遇到的困难: 成员姓名 昨天完成工作 今天计划完成的工作 工作中遇到的困难 蔡双浩 补充注释,初步查找bug 修改bug 无 陈创 ...

  8. MySQL存储引擎:MyISAM和InnoDB的区别

    MyISAM和InnoDB的区别 定义 InnoDB:MySQL默认的事务型引擎,也是最重要和使用最广泛的存储引擎.它被设计成为大量的短期事务,短期事务大部分情况下是正常提交的,很少被回滚.InnoD ...

  9. 【SDOI2017】相关分析(线段树)

    Description 你需要维护一个长度为 \(n\) 的实数对的序列,第 \(i\) 个元素为 \((x_i, y_i)\).现有 \(m\) 次操作: \(\texttt{1 L R}\):设区 ...

  10. CSS知识点记录

    1.浏览器style中显示的样式 这里面的样式,是行内样式或者是使用js添加的样式