结构图

1.创建maven项目

2.引入依赖

  1.      <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. <version> RELEASE</version>
  5. </dependency>
  6.  
  7. <dependency>
  8. <groupId>org.mybatis</groupId>
  9. <artifactId>mybatis</artifactId>
  10. <version>3.2.8</version>
  11. </dependency>
         <!--日志约束-->
  12. <dependency>
  13. <groupId>org.slf4j</groupId>
  14. <artifactId>slf4j-log4j12</artifactId>
  15. <version> RELEASE</version>
  16. </dependency>

3.配置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. <configuration>
  6. <!--配置别名-->
  7. <typeAliases>
  8. <package name="com.sf.wj.domain"/>
  9. </typeAliases>
  10. <!--数据源配置-->
  11. <environments default="development">
  12. <environment id="development">
  13. <transactionManager type="JDBC"></transactionManager>
  14. <dataSource type="POOLED">
  15. <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
  16. <property name="url" value="jdbc:mysql://localhost:3306/company?serverTimezone=UTC"/>
  17. <property name="username" value="root"/>
  18. <property name="password" value="123456"/>
  19. </dataSource>
  20. </environment>
  21. </environments>
  22.  
  23. <!--资源引用-->
  24. <mappers>
  25. <mapper resource="mappers/UserMapper.xml"/>
  26. </mappers>
  27.  
  28. </configuration>

mybatis-config配置文件,要按照一定的顺序配置

4.数据库对应的实体类

  1. public class User {
  2. private int id;
  3. private String username;
  4. private String password;
  5.  
  6. public int getId() {
  7. return id;
  8. }
  9.  
  10. public void setId(int id) {
  11. this.id = id;
  12. }
  13.  
  14. public String getUsername() {
  15. return username;
  16. }
  17.  
  18. public void setUsername(String username) {
  19. this.username = username;
  20. }
  21.  
  22. public String getPassword() {
  23. return password;
  24. }
  25.  
  26. public void setPassword(String password) {
  27. this.password = password;
  28. }
  29.  
  30. @Override
  31. public String toString() {
  32. return "User{" +
  33. "id=" + id +
  34. ", username='" + username + '\'' +
  35. ", password='" + password + '\'' +
  36. '}';
  37. }
  38. }

5.创建mapper接口

  1. package com.sf.wj.mapper;
  2.  
  3. import com.sf.wj.domain.User;
  4.  
  5. import java.util.List;
  6.  
  7. public interface UserMapper {
    User queryById(int id);
    void deleteById(int id);
    List<User> queryAll();
    void updateUser(User user);
    void insertUser(User user);
    List<User> queryByIds(int[] ids);
    }

6.创建UserMapper.xml

  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.sf.wj.mapper.UserMapper">
  6. <select id="queryById" parameterType="int" resultType="User">
  7. select * from user where id = #{id}
  8. </select>
  9.  
  10. <delete id="deleteById" parameterType="Integer" >
  11. delete from user where id = #{id}
  12. </delete>
  13.  
  14. <select id="queryAll" resultType="User">
  15. select * from user
  16. </select>
  17.  
  18. <update id="updateUser" parameterType="User">
  19. update user set username = #{username},password = #{password} where id=#{id}
  20. </update>
  21.  
  22. <insert id="insertUser" parameterType="User">
  23. insert into user (id,username,password) values (#{id},#{username},#{password})
  24. </insert>
  25.   
  1.   <!--按多个id查找用户 foreach-->
      <select id="queryByIds" resultType="User">
       select * from user where id in
       <foreach collection="array" open="(" close=")" separator="," item="id">
    #{id}
      </foreach>
      </select>
  1. </mapper>

7.测试用例

  1. package com.sf.wj;
  2.  
  3. import com.sf.wj.domain.User;
  4. import com.sf.wj.mapper.UserMapper;
  5. import org.apache.ibatis.io.Resources;
  6. import org.apache.ibatis.session.SqlSession;
  7. import org.apache.ibatis.session.SqlSessionFactory;
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  9. import org.junit.After;
  10. import org.junit.Before;
  11. import org.junit.Test;
  12.  
  13. import java.io.IOException;
  14. import java.io.InputStream;
  15. import java.util.List;
  16.  
  17. public class UserTest {
  18. private UserMapper mapper;
  19. private SqlSession sqlSession;
  20. private InputStream inputStream;
  21. @Before
  22. public void setUp() throws IOException {
  23. String rusource = "mybatis-config.xml";
  24. inputStream = Resources.getResourceAsStream(rusource);
  25. SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
  26. //默认传入参数false,不自动提交
  27. sqlSession = factory.openSession(false);
  28. mapper = sqlSession.getMapper(UserMapper.class);
  29. }
  30.  
  31. @After
  32. public void commit(){
  33. try {
  34. sqlSession.commit();
  35. inputStream.close();
  36. sqlSession.close();
  37. } catch (IOException e) {
  38. e.printStackTrace();
  39. }
  40. }
  41.  
  42. @Test
  43. public void queryByIdTest(){
  44. User user = mapper.queryById(1);
  45. System.out.println(user);
  46. }
  47. @Test
  48. public void queryAllTest(){
  49. List<User> user = mapper.queryAll();
  50. System.out.println(user);
  51. }
  52. @Test
  53. public void deleteTest(){
  54. mapper.deleteById(1);
  55. }
  56. @Test
  57. public void updateTest(){
  58. User user=new User();
  59. user.setId(1);
  60. user.setPassword("qwert");
  61. user.setUsername("jg");
  62. mapper.updateUser(user);
  63. }
  64.  
  65. @Test
  66. public void insertTest(){
  67. User user=new User();
  68. user.setId(3);
  69. user.setPassword("369");
  70. user.setUsername("zs");
  71. mapper.insertUser(user);
  72. }
  1.   //多个id查找
      @Test
      public void queryByIdsTest(){
       List<User> list = mapper.queryByIds(new int[]{1, 2, 3});
       System.out.println(list);
      }
  1. }

mybatis快速搭建的更多相关文章

  1. 快速搭建一个Spring Boot + MyBatis的开发框架

    前言:Spring Boot的自动化配置确实非常强大,为了方便大家把项目迁移到Spring Boot,特意总结了一下如何快速搭建一个Spring Boot + MyBatis的简易文档,下面是简单的步 ...

  2. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  3. SSM(SpringMVC+Spring+MyBatis)三大框架使用Maven快速搭建整合(实现数据库数据到页面进行展示)

    本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程. 技术选型:SpringMVC+Spring+M ...

  4. Spring-Boot快速搭建web项目详细总结

    最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...

  5. 快速搭建ssm框架

    快速搭建SSM框架 因为最近有很多朋友问我自己的项目搭建的不够完善,并且经常出现一些小问题,那么今天我又整理了一下文档教大家如何快速搭建SSM框架我是用 eclipse搭建的,如果想用idear的话我 ...

  6. Spring-Data-JPA尝鲜:快速搭建CRUD+分页后台实例

    前言:由于之前没有接触过Hibernate框架,但是最近看一些博客深深被它的"效率"所吸引,所以这就来跟大家一起就着一个简单的例子来尝尝Spring全家桶里自带的JPA的鲜 Spr ...

  7. 使用Springboot快速搭建SSM框架

    Spring Boot设计目的是用来简化Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 一.环境准备 Idea 2017 或 201 ...

  8. 在线官网Spring Initializr 或 IntelliJ IDEA 快速搭建springboot项目

    Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程.它主要推崇的是'消灭配置’,实现零配置. 那么,如何快速新建一个一个spring ...

  9. 快速搭建一个SSM框架demo

    我之所以写一个快速搭建的demo,主要想做一些容器的demo,所以为了方便大家,所以一切从简,简单的3层架构 先用mysql的ddl,后期不上oracle的ddl ; -- ------------- ...

随机推荐

  1. C# WinForm 提示框延迟自动关闭

    有时候我们需要弹出个提示框然后让它自己关闭,然而实际使用中的弹出框确实阻塞进程,网上貌似有一种另类的解决方式,大致思路是把弹出框放到另外的一个窗体上,直接贴代码 主窗体 using System; u ...

  2. pod的状态分析

    Pod状态 状态 描述 Running 该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建.至少有一个容器正在运行,或者正处于启动或重启状态. Pending Pod 已被 Kuber ...

  3. POJ 3468 A Simple Problem with Integers(线段树区间修改及查询)

    Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. On ...

  4. ThinkPHP示例:图片上传

    ThinkPHP示例之图片上传,包括图片上传.数据库保存.缩略图生成以及图片水印功能演示.首先需要下载框架核心,然后把示例解压到Web根目录下面,并修改入口文件中的框架入口文件的位置.导入示例目录下面 ...

  5. 使用Intent实现Activity之间传值与跳转(转)

    转:http://blog.csdn.net/cjjky/article/details/6337447 在一个Android的应用程序中,很少只存在一个Activity,一般都有多个Activity ...

  6. 集合类不安全之ArrayList

    1. 不安全的ArrayList 大家都知道ArrayList线程不安全,怎么个不安全法呢?上代码: public class ContainerNotSafeDemo { public static ...

  7. MySQL-8.0填坑

    Client does not support authentication protocol 或 Authentication plugin 'caching_sha2_password' cann ...

  8. seleniumIDE command命令

    语法组成要素:command.target.value. command命令 三大类型:(action.Accessor.assertion)   操作  存储  断言 操作类型——Action 浏览 ...

  9. 微信小程序,获取二维码

    微信小程序,获取二维码 找到一篇很实用的博客,他已经写得很详细了,自己也懒得写,亲测有效 参考网址

  10. Portal for ArcGIS启动失败,无法访问任何门户计算机,请联系您的系统管理员。

    1.如题,打开Portal门户的时候,发现: 2.检查日志发现Portal for ArcGIS没启动,日志地址:D:\Program Files\ArcGIS\Portal\framework\se ...