1:新建maven项目,file->project->maven

2:在建好的maven项目中,打开pom.xml文件,加入mybatis所需要的依赖:

<!--    mybatis核心包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- java连接数据库-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--    单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

3:由于涉及到静态资源的导出问题,故需要在pom.xml中加入如下代码

<!--    静态资源导出问题-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>

4:由于未涉及到spring,springmvc等,故三层架构先建立一层,也就是dao层(数据层),在dao层建立一个接口(userMapper),然后再新建一个userMapper.xml文件,方便动态代理模式的使用

5:在mysql中建立一张用户表(user),包含id,name,pwd等三个简单字段

6:在建立一个JavaBean,建立一个pojo包,包中建立一个user实体类,与数据库中的user表对应。如下所示:

public class User {
private Integer Id;
private String name;
private String pwd;

public User() {
}

public User(Integer id, String name, String pwd) {
Id = id;
this.name = name;
this.pwd = pwd;
}

public User(String name, String pwd) {
this.name = name;
this.pwd = pwd;
}

public Integer getId() {
return Id;
}

public void setId(Integer id) {
Id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPwd() {
return pwd;
}

public void setPwd(String pwd) {
this.pwd = pwd;
}

@Override
public String toString() {
return "User{" +
"Id=" + Id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
}

7:准备工作完毕,下面需要建立一些xml文件和properties文件:

8:在resource包下建立database.properties文件(作用是为了连接数据库)以及mybatis.xml文件(mybatis核心配置文件)

database.properties文件:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///mybatis?useSSL=false&useServerPrepStmts=true&useUnicode=true&characterEncoding=utf-8
username=root
password=ztb

mybatis.xml文件:

<?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 resource="db.properties"></properties>
<!-- 别名-->
<typeAliases>
<package name="com.ztb.pojo"/></typeAliases>

<environments default="mysql">
<environment id="mysql">
<!-- 事务交给程序员来做-->
<transactionManager type="JDBC"></transactionManager>
<!-- mybatis中默认的连接池-->
<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>
<!-- 注册usermapper-->
<mappers>
<mapper class="com.ztb.dao.UserMapper"></mapper>
</mappers>
</configuration>

9:在userMapper接口处写访问数据库的增删改查方法,方便userMapper.xml调用。(注意:接口和xml文件的名字一定要一样)

public interface UserMapper {
//查询所有用户
List<User> seleteAll();

//根据Id查找用户
User selectById(int id);
//增加用户
int addUser(User user);
//删除用户
int deleteById(int id);
// 更新用户
int update(User user);
}

10:在userMapper中写下相应的增删改查语句。

<?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.ztb.dao.UserMapper">

<select id="seleteAll" resultType="com.ztb.pojo.User">
select * from mybatis.user
</select>

<select id="selectById" resultType="com.ztb.pojo.User" parameterType="int">
select * from mybatis.user where id= #{id}
</select>

<insert id="addUser" parameterType="com.ztb.pojo.User">
insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
</insert>

<delete id="deleteById" parameterType="int">
delete from mybatis.user where id=#{id}
</delete>

<update id="update" parameterType="com.ztb.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
</update>
</mapper>

11:至此,一切准备工作完毕,下面开始测试增删改查

12:在test文件下新建测试类:

public class Test1 {
SqlSession sqlSession=null;

@Before
public void Before1() throws IOException {
InputStream inputStream = Resources.getResourceAsStream("mybaits.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = sqlSessionFactory.openSession();

}
@After
public void after(){
sqlSession.close();
}

@Test
public void test11() throws IOException {

UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
List<User> users = userMapper.seleteAll();
for (User user : users) {
System.out.println(user);
}
}
@Test
public void test12(){
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.selectById(2);
System.out.println(user);

}
@Test
public void test13(){
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.addUser(new User(8,"张三", "123456"));
sqlSession.commit();
System.out.println(i);

}
@Test
public void test14(){
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.deleteById(8);
sqlSession.commit();
System.out.println(i);

}
@Test
public void test15(){
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.update(new User(0,"张三","111111"));
sqlSession.commit();
System.out.println(i);

}
}

Mybatis的使用(1)的更多相关文章

  1. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  2. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  3. [原创]mybatis中整合ehcache缓存框架的使用

    mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...

  4. 【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程

    本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...

  5. mybatis plugins实现项目【全局】读写分离

    在之前的文章中讲述过数据库主从同步和通过注解来为部分方法切换数据源实现读写分离 注解实现读写分离: http://www.cnblogs.com/xiaochangwei/p/4961807.html ...

  6. MyBatis基础入门--知识点总结

    对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: public static void main(String[] args) throws Exceptio ...

  7. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  8. MyBatis源码分析(一)开篇

    源码学习的好处不用多说,Mybatis源码量少.逻辑简单,将写个系列文章来学习. SqlSession Mybatis的使用入口位于org.apache.ibatis.session包中的SqlSes ...

  9. (整理)MyBatis入门教程(一)

    本文转载: http://www.cnblogs.com/hellokitty1/p/5216025.html#3591383 本人文笔不行,根据上面博客内容引导,自己整理了一些东西 首先给大家推荐几 ...

  10. MyBatis6:MyBatis集成Spring事物管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基 ...

随机推荐

  1. 探索 Python/Django 支持分布式多租户数据库,如 Postgres+Citus

    在 确定分布策略 中,我们讨论了在多租户用例中使用 Citus 所需的与框架无关的数据库更改. 在这里,我们专门研究如何借助 django-multitenant 库将多租户 Django 应 用程序 ...

  2. 什么叫做 Docker

    什么叫做 Docker 本文写于 2020 年 11 月 5 日 没有人会喜欢环境配置 在去年的时候我开始学习 Python,并利用 Python 制作了一些小工具.但问题是我很难让别人去用我的软件, ...

  3. 520,用Python定制你的《本草纲目女孩》

    摘要:让我们来用Python定制出心仪的"本草纲目女孩",敲出魔性的代码舞蹈,520,准备好心仪女孩的舞蹈视频,把这份别出心裁的礼物给TA 本文分享自华为云社区<[云驻共创] ...

  4. 好客租房31-事件绑定this指向(bind)

    事件this指向bind 利用ES5中bind方法 将事件处理程序中的this和组件实例绑定在一起 //导入react     import React from 'react'           ...

  5. [SQLServer]NetCore中将SQLServer数据库备份为Sql脚本

    NetCore中将SQLServer数据库备份为Sql脚本 描述: 最近写项目收到了一个需求, 就是将SQL Server数据库备份为Sql脚本, 如果是My Sql之类的还好说, 但是在网上搜了一大 ...

  6. 没错,就是Access-Control-Allow-Origin,跨域

    服务端添加: <add name="Access-Control-Allow-Origin" value="*" /><add name=&q ...

  7. Pandas 分组聚合 :分组、分组对象操作

    1.概述 1.1 group语法 df.groupby(self, by=None, axis=0, level=None, as_index: bool=True, sort: bool=True, ...

  8. ML第5周学习小结

    本周收获 总结一下本周学习内容: 1.学习了<深入浅出Pandas>的第五章:Pandas高级操作的两个内容 数据迭代 函数应用 我的博客链接: pandas:数据迭代.函数应用 2.&l ...

  9. 2021.03.20【NOIP提高B组】模拟 总结

    区间 DP 专场:愉快爆炸 T1 题目大意 有 \(n\) 个有颜色的块,连续 \(k\) 个相同颜色的就可以消掉 现在可以在任意位置插入任意颜色的方块,问最少插入多少个可以全部抵消 题解 先把连续的 ...

  10. 迄今微软不同时期发布的SQL Server各版本之间的大致区别,供参考查阅

    通过在互联网上收集及微软官方网站等途径获取相关资料进行整理汇总出Microsoft SQL Server各个版本(SQL Server 2008 R2.SQL Server 2012.SQL Serv ...