这里直接附上代码:

 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. 自定义orm字段

    class MyCharField(models.Field): def __init__(self,max_length,*args,**kwargs): self.max_length = max ...

  2. Django----短信验证接口

    1.注册荣联云账号 1.1注册账号 1.2 登录即可看到开发者账号信息 1.3 添加测试账号 2.使用容联云发送代码测试 '''1. 安装容联云sdk''' pip install ronglian_ ...

  3. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件移除选项卡的removeTab和clear方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 要从一个QTabWidget中去除选项卡,可用使用removeTab和clear方法. 1.移除选项 ...

  4. 被老猿误解的Python匿名函数lambda

    在<第2.3节 Python运算符大全>老猿这样描述lambda:"上述运算符中有个lambda,这是个lambda就是用来定义一个匿名函数的.老猿认为用处不大,具体内容大家可以 ...

  5. PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

    在<PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性>中介绍layout的layoutSizeConstraint属性后,反复测试 ...

  6. PyQt(Python+Qt)学习随笔:布局控件layoutSpacing属性

    在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout( ...

  7. 记账本APP小升级

    增加了显示当月总收入和总支出的功能,增加了选择收支类型的功能,删去了删除账目后恢复的功能. 1.数据库的升级 1.entity 添加了一个收支类型的字段: package com.example.ca ...

  8. HTML基础之标签

    HTML初识 HTML(Hpyer Text Markup Language的缩写)译为"超文本标签语言",用来描述网页的一种语言.所谓超文本,因为它可以加入图片.声音.动画.多媒 ...

  9. vulnstack靶机实战01

    前言 vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的 ...

  10. 微信端video去除最顶层播放

    https://x5.tencent.com/tbs/guide/video.html 给video标签添加属性 x5-video-player-type="h5"