Mybatis环境搭建

1.创建实体类 Blog

package com.wang.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 view;
}

2.创建数据库操作接口与对应的Mapper

 

package com.wang.dao;

import com.wang.pojo.Blog;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface BlogMapper {
    //插入数据
    public void inSert(Blog blog);
    //查找博客
    public List<Blog> quereBlog(Map map);
}

BlogMapper.xml

<?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.wang.dao.BlogMapper">
<!--    添加博客-->
    <insert id="inSert" parameterType="Blog">
insert into mybatis.blog(id, title, author, create_time, view)
values (#{id},#{title},#{author},#{createTime},#{view});
    </insert>
<!--    map查询语句-->
    <select id="quereBlog" parameterType="map" resultType="Blog">
        select * from mybatis.blog where 1=1
        <if test="title!=null">
            and title=#{title}
        </if>
        <if test="author!=null">
            and author=#{author}
        </if>
    </select>
</mapper>

3.编写mybatis配置文件   mybatis-config.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"/>
    <settings>
<!--        输出日志-->
<!--        <setting name="logImpl" value="STDOUT_LOGGING"/>-->
<!--        驼峰命名转换-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
<!--        设置别名  -->
    <typeAliases>
        <package name="com.wang.pojo"/>
    </typeAliases>
<!--         连接数据库 -->
  <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
<!--          绑定Mapper.xml文件 -->
    <mappers>
        <mapper resource="com/wang/dao/BlogMapper.xml"/>
    </mappers>
</configuration>

4.创建工具类

package com.wang.utils;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class MyBatisUtils {
//    获得SqlSessionFactory
    static  SqlSessionFactory sqlSessionFactory;
    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream stream = Resources.getResourceAsStream(resource);
            sqlSessionFactory  = new SqlSessionFactoryBuilder().build(stream);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
//    获得SqlSession对象
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession(true);
    }
}

5.   创建实现类

public class Text {
    @Test
    public void addBlog(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
        Blog blog=new Blog();
        blog.setId(IDutils.getID());
        blog.setTitle("Java快速入门");
        blog.setAuthor("少年不知岁月长");
        blog.setCreateTime(new Date());
        blog.setView(5392);
        mapper.inSert(blog);
        blog.setId(IDutils.getID());
        blog.setTitle("数据库底层原理");
        blog.setCreateTime(new Date());
        blog.setView(5645);
        mapper.inSert(blog);
        blog.setId(IDutils.getID());
        blog.setTitle("JVM");
        blog.setCreateTime(new Date());
        blog.setView(4984);
        mapper.inSert(blog);



        sqlSession.close();
    }
    @Test
    public void QuereIf(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
        Map<String, String> map = new HashMap<>();
        map.put("title","数据库底层原理");
        List<Blog> blogs = mapper.quereBlog(map);
        for (Blog blog : blogs) {
            System.out.println(blog);
        }
        map.clear();
        sqlSession.close();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值