SSM框架+Thymeleaf之详解Mybatis实例使用

本文详细介绍了如何在SSM框架中结合Mybatis和Thymeleaf,通过创建数据库表、编写SQL查询、创建实体类、Mapper接口及XML配置文件,实现用户和地址信息在页面的循环显示。讲解了数据库建表、Mybatis映射关系、接口实现、Service和Controller的使用,以及Thymeleaf模板引擎在展示数据时的应用。
摘要由CSDN通过智能技术生成

上一篇创建SSM框架项目和基本使用的文章后,项目已经能基本使用了,现在就是和数据库配合起来。这篇重点结合实例讲Mybatis的使用,演示下如何使用Thymeleaf以循环列表的形式展示数据

首先把数据库表建起来

数据库是Mysql,建一个user_info(用户表)和address_info(地址表)
在这里插入图片描述
user_id作为主键设置自增长
在这里插入图片描述
在这里插入图片描述
address_id作为主键设置自增长。
在这里插入图片描述

数据库表建好,先说下打算做什么

打算将用户和地址的信息在页面显示
1.下面这个是最基本的sql语句,查询user_info表里的信息
在这里插入图片描述
下面这个稍微复杂一点,用了表连接,第一个采用的是左连接(left jion),第二个是内联接(inner join),这两种输出结果是不一样的,你们可以自己思考下为什么,加深下数据库的知识,这两种是为了不同的目的存在的。
这个sql语句的目的是将用户表与地址表连接在一起,你想你的淘宝账号里,你的收获地址是有多个的。
在这里插入图片描述
在这里插入图片描述

然后开始使用Mybatis吧

先放上项目现在的结构:
在这里插入图片描述
首先在entity文件夹中建立实体类userInfo,addressInfo
下图是userInfo.java
还记得在创建项目时,勾选的lombok吗,@Data注解就是对其的使用,用上了这个注解,就不用自己写上get,set方法了,自动生成。
有些人可能在使用这个注解时会发现实体类使用get,set方法时可以使用,但会报红,这个原因无法言语表达,反正去下载个插件就可以了,在第三个图

import lombok.Data;

@Data
public class UserInfo {
   

    /**
     * 这个地方其实这样命名虽然规整,但最好还是和数据库里字段名称一样是最好,
     * 可以避免一些麻烦,至于什么麻烦后面说,但为了更有直观对比性就和数据库命名不同
     * 不过如果使用JPA什么的技术加上字段声明就没我说的麻烦问题了。
     */

    private int userId;

    private String pwd;

    private String userName;

    private String userRealName;

    private String Telephone;

    private String userPro;

	private List<AddressInfo> addressInfoList;
	
}

addresInfo.java

import lombok.Data;

@Data
public class AddressInfo {
   

    private int addressId;

    private int userId;

    private String address;

    private String linkMan;

    private String telephone;

    private int defaultAddress;

}

在这里插入图片描述
然后在mapping中创建一个xml文件,xml文件我的是不能直接创建的,所以在mapping文件夹处右击选择new点击File
在这里插入图片描述
加上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">

这是一个硬型代码,必须要加
然后打标签

<?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>

</mapper>

此时mapper标签这里有报错,这是因为还没写接口产生映射关系。

在mapper文件夹处我们建一个接口,方法:在mapper处右键创建java,在Kind选择下拉,选中接口

在这里插入图片描述
在UserInfoMapper.java中加入如下代码
加完后会报红,但没关系,报红是因为接口没被使用

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 生成Bean的注解,这个有点说不清,加就对了
 */
@Repository
public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值