(其实这块很简单,就是sql。你sql学的好这部分很好学的)
创建一个基础工程

框起来的三个直接复制上一个项目的内容。
箭头是自己创建的内容
pom.xml导入lombox。

- <dependencies>
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- <version>1.18.10version>
- dependency>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- dependency>
- dependencies>
mybatis-config.xml:这里修改成下图的样子

BlogMapper:

- package com.Li.dao;
-
- import com.Li.pojo.Blog;
-
- public interface BlogMapper {
- //插入数据
- int addBlog(Blog blog);
- }
BlogMapper.xml:

- "1.0" encoding="UTF-8" ?>
- mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.Li.dao.BlogMapper">
-
- <insert id="addBlog" parameterType="blog">
- insert into blog (id, title, author, create_time, views)
- values (#{id},#{title},#{author},#{createTime},#{views});
- insert>
-
-
- mapper>
pojo里面的实体类Blog(依据数据库的表的字段的数据类型进行编写)

- package com.Li.pojo;
-
- import lombok.Data;
-
- import java.util.Date;
-
- @Data
- public class Blog {
- private String id;
- private String title;
- private String author;
- private Date createTime;
- private int views;
-
- }
IDutils:(工具类:获取一个随机的数字串)

- package com.Li.utils;
-
- import org.junit.Test;
- import java.util.UUID;
-
- public class IDutils {
-
- public static String getID(){
- return UUID.randomUUID().toString().replaceAll("-", "");
- }
-
- @Test
- public void test(){
- System.out.println(IDutils.getID());
- System.out.println(IDutils.getID());
- System.out.println(IDutils.getID());
- }
-
- }
测试一下 ,可以成功生成随机数。

测试类:

- import com.Li.dao.BlogMapper;
- import com.Li.pojo.Blog;
- import com.Li.utils.IDutils;
- import com.Li.utils.MybatisUtils;
- import org.apache.ibatis.session.SqlSession;
- import org.junit.Test;
-
- import java.util.Date;
-
- public class MyTest {
- @Test
- public void addInitBlog(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
-
- Blog blog = new Blog();
- blog.setId(IDutils.getID());
- blog.setTitle("Mybatis如此简单");
- blog.setAuthor("狂神说");
- blog.setCreateTime(new Date());
- blog.setViews(9999);
- mapper.addBlog(blog);
-
- blog.setId(IDutils.getID());
- blog.setTitle("Java如此简单");
- mapper.addBlog(blog);
-
- blog.setId(IDutils.getID());
- blog.setTitle("Spring如此简单");
- mapper.addBlog(blog);
-
- blog.setId(IDutils.getID());
- blog.setTitle("微服务如此简单");
- mapper.addBlog(blog);
-
- sqlSession.close();
- }
-
- }
测试结果:

动态拼接:增加条件来实现。
接口:
- //查询博客
- List
queryBlogIF(Map map);
接口对应xml
-
- <select id="queryBlogIF" resultType="blog" parameterType="map">
- select * from mybatis.blog where 1 = 1
- <if test="title != null">
- and title = #{title}
- if>
- <if test="author != null">
- and author = #{author}
- if>
- select>
测试类:
- @Test
- public void queryBlogIF(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
-
- HashMap hashMap = new HashMap();
- hashMap.put("title", "Java如此简单");
-
- List
blogs = mapper.queryBlogIF(hashMap); - for (Blog blog : blogs) {
- System.out.println(blog);
- }
-
-
- sqlSession.close();
- }
结果:

再测试一次:

里面出现了追加的sql了,成功!比较简单。

将上一个queryBlogIF的select注释,之后换成下面的进行测试。测试成功。(注意where的使用)
-