Mybatis-动态sql-搭建环境
动态sql:就是根据不同的条件生成不同的sql语句
1.搭建环境:
数据库:
CREATE TABLE `blog`(
`id` VARCHAR(50) NOT NULL COMMENT '博客id',
`title` VARCHAR(100) NOT NULL COMMENT '博客标题',
`author` VARCHAR(30) NOT NULL COMMENT '博客作者',
`create_time` DATETIME NOT NULL COMMENT '创建时间',
`views` INT(30) NOT NULL COMMENT '浏览量'
)ENGINE=INNODB DEFAULT CHARSET=utf8
实体类:
package com.kakafa.pojo;
import lombok.Data;
import java.util.Date;
@Data
@AllArgsConstructor
public class Blog {
    private String id;
    private String title;
    private String author;
    private Date createTime;//和数据库中的字段名不一样 mapUnderscoreToCamelCase
    private int views;
}
mybatis-config:
<?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"/>
        <!--是否开启驼峰命名规则(camel case)映射-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <environments default="test">
        <environment id="test">
            <transactionManager type="JDBC"/>
            <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>
    <mappers>
        <mapper class="com.kakafa.dao.BlogMapper"/>
    </mappers>
    
</configuration>

IdUtils:
package com.kakafa.util;
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());
    }
}
BlogMapper:
package com.kakafa.dao;
import com.kakafa.pojo.Blog;
public interface BlogMapper {
    //插入数据
    int addBook(Blog blog);
}
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.kakafa.dao.BlogMapper">
    <insert id="addBook" parameterType="com.kakafa.pojo.Blog">
        insert into mybatistest.blog(id,title,author,create_time,views)
        values(#{id},#{title},#{author},#{createTime},#{views});
    </insert>
</mapper>
test:
@Test
    public void addBlogTest(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
        mapper.addBook(new Blog(IdUtils.getId(),"谁动了我的奶酪","斯宾塞约翰逊",new Date(),999));
        sqlSession.commit();
        sqlSession.close();
    }

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号