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号