idea mysql pojo_使用 IDEA 搭建一个简单的 Mybatis 项目

Mybatis 项目搭建

一个简单的 Mybatis 项目,实现了增删改查功能,具体步骤如下

1. 导入依赖

pom.xml

org.apache.maven.plugins

maven-compiler-plugin

7

7

mysql

mysql-connector-java

8.0.15

org.mybatis

mybatis

3.5.2

junit

junit

4.12

test

org.projectlombok

lombok

1.18.10

provided

2. 配置db.properties

src/main/resources/db.properties

数据库使用的是 mysql 8.0

driver=com.mysql.cj.jdbc.Driver

url=jdbc:mysql://localhost:3306/mybatisuseSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC

username=root

password=123456

3. 创建工具类MybatisUtils

src/main/java/com/utils/MybatisUtils.java

该工具类的主要作用是,通过读取配置文件mybatis-config.xml返回SqlSessionFactory

public class MybatisUtils {

private static SqlSessionFactory sqlSessionFactory;

static {

try {

String resource = "mybatis-config.xml";

InputStream inputStream = Resources.getResourceAsStream(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

} catch (IOException e) {

e.printStackTrace();

}

}

public static SqlSession getSqlSession() {

return sqlSessionFactory.openSession();

}

}

4. 创建业务相关类

4.1 POJO

src/main/java/com/pojo/Blog.java

@Data

@AllArgsConstructor

public class Blog {

private String id;

private String title;

private String author;

private Date createdAt;

private int views;

}

这里使用了lombok快速创建了Blog的 setter, getter, constructor 等方法

32e48fb7bed0a2d6bcb1593edf184ae8.png

4.2 Mapper

src/main/java/com/mapper/BlogMapper.java

基础的 CRUD 接口

public interface BlogMapper {

int insertBlog(Blog blog);

int deleteBlog(String id);

int updateBlog(Blog blog);

int updateBlogByMap(Map map);

Blog queryBlogByID(String id);

List queryAllBlog();

// 模糊查询

List searchBlogByTitleKey(String key);

}

5. 配置mybatis-config.xml

src/main/resources/mybatis-config.xml

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

6. 配置BlogMapper.xml

src/main/resources/com/mapper/BlogMapper.xml

Mapper.xml配置文件最好是创建在resources文件夹中与Mapper.java同包名的文件夹中,这样在部署运行时,配置文件和类文件会在同一文件夹下

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

insert into mybatis.blog(id, title, author, created_at, views)

value (#{id}, #{title}, #{author}, #{createdAt}, #{views});

delete

from mybatis.blog

where id = #{id};

update mybatis.blog

set title = #{title},

author = #{author},

views = #{views}

where id = #{id};

update mybatis.blog

title = #{title},

author = #{author},

views = #{views},

where id = #{bid};

select *

from mybatis.blog

where id = #{id};

select *

from mybatis.blog;

select *

from mybatis.blog

where title like concat('%', #{key}, '%');

7. 测试

7.1 插入数据

public void insertBlog() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

int i = mapper.insertBlog(new Blog("a", "test", "jwy", new Date(), 0));

if (i == 1) {

System.out.println("成功");

}

sqlSession.commit();

}

}

7.2 删除数据

public void deleteBlog() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

int i = mapper.deleteBlog("a");

if (i == 1) {

System.out.println("成功");

}

sqlSession.commit();

}

}

7.3 更新数据(全部更新)

public void updateBlog() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

int i = mapper.updateBlog(new Blog("5d47f00c86974c4db607a582706421a3", "修改了", "jwy", new Date(), 0));

if (i == 1) {

System.out.println("成功");

}

sqlSession.commit();

}

}

7.4 更新数据(按需更新)

public void updateBlogByMap() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

Map map = new HashMap<>();

map.put("bid", "00d42657c6b54b12b1315d9d29ef4d76");

map.put("views", 0);

int i = mapper.updateBlogByMap(map);

if (i == 1) {

System.out.println("成功");

}

sqlSession.commit();

}

}

7.5 查询数据(通过 ID)

public void queryBlogByID() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

Blog blog = mapper.queryBlogByID("00d42657c6b54b12b1315d9d29ef4d76");

System.out.println(blog);

}

}

7.6 查询所有数据

public void queryAllBlog() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

List blogs = mapper.queryAllBlog();

for (Blog blog : blogs) {

System.out.println(blog);

}

}

}

7.7 模糊查找

public void searchBlogByTitleKey() {

try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {

BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);

List blogs = mapper.searchBlogByTitleKey("a");

for (Blog blog : blogs) {

System.out.println(blog);

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值