芯が強い人になるESTJ-A

# Mybatis项目搭建流程

IT開発 Tags: 无标签 阅读: 298

截屏2021-07-23 22.07.52.jpg

导入包

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
    </dependencies>
    <!--    在build中配置resources , 来防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

编写配置文件

BlogMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xuwen.dao.BlogMapper">

</mapper>

截屏2021-07-24 16.09.48.jpg

pojo>Blog类

package com.xuwen.pojo;

import lombok.Data;

import java.util.Date;

/**
 * author:xuwen
 * Created on 2021/7/23
 */

@Data
public class Blog {
    private String id;
    private String title;
    private String author;
    private Date createTime;
    private int views;
}

utils下MybatisUtils类

package com.xuwen.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;

/**
 * author:xuwen
 * Created on 2021/7/20
 */
//工具类
    //sqlSessionFactory
    //工厂是生产产品的,1把资源加载进来2创建可以执行sql的对象
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    //静态代码块,初始化就加载
    static{
        InputStream inputStream = null;
        try {
            //第一步:获取sqlSessionFacotry对象
            //官网三句话是套路
            String resource = "mybatis-config.xml";
            inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //获取sqlsession完全包含了
    // 面向数据库执行SQL命令的所有方法
    //sqlSessionFacotory.下的openSession
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }


}

UUIDgetID类

package com.xuwen.utils;

import org.junit.Test;

import java.util.UUID;

/**
 * author:xuwen
 * Created on 2021/7/24
 */
public class IDUtils {
    //
    public static String getId(){
        return UUID.randomUUID().toString().replaceAll("-","");
    }

    @Test
    public void testID(){
        System.out.println(IDUtils.getId());
        System.out.println(IDUtils.getId());
        System.out.println(IDUtils.getId());

    }
}

编写实体类

编写实体类,对应的Mapper接口和Mapper.xml文件

dao下的BlogMapper类

package com.xuwen.dao;

import com.xuwen.pojo.Blog;

/**
 * author:xuwen
 * Created on 2021/7/24
 */
public interface BlogMapper {
    //插入数据
    int addBlog(Blog blog);



}

xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xuwen.dao.BlogMapper">
    <insert id="addBlog" parameterType="blog">
        insert into koa2weibo.blog (id, title, author, create_time, views)
        values (#{id},#{title},#{author},#{createTime},#{views});
    </insert>
</mapper>

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>
    <!--核心配置文件-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://rm-uf6t9m0yx22dxrya5no.mysql.rds.aliyuncs.com:3306/koa2weibo?serverTimezone=Asia/Shanghai&amp;useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF8&amp;"/>
                <property name="username" value="koa2weibo"/>
                <property name="password" value="passMYblog123"/>
            </dataSource>
        </environment>
    </environments>
    <!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册!!!-->
    <mappers>
        <mapper resource="com/xuwen/dao/UserMapper.xml"/>
    </mappers>
</configuration>