springboot_04 数据访问+简单的mvc小案例

使用springboot实现一个访问数据库的查询操作

首先先使用idea链接数据库 在界面的右边有一个database 点击之后新建一个链接 然后选择最后一栏 将滚轮拉到最后 加上时区 serverTimezone Asia/Shanghai 添加完成之后回到 general填写信息 稍等就会发现已经连接上了 表已经成功显示 你可以在这里操作你的数据库 点击这个按钮填写一条信息 填写完之后不要忘记点击这个按钮提交到数据库 等待一会之后就会发现数据库成功插入了

开始查询

首先我们这一次使用比较传统的mvc的设计模式 也就是 controller - service - dao

创建包

创建之后的目录应该是这样子的

controller 放置前端请求的基址地址/调用业务逻辑 service 放置核心业务的接口以及他们的实现类 dao 放置具体业务的操作 mapper 放置操作数据库的sql语句 pojo 放置数据库的实体类

创建实体类

在dao下的pojo中创建一个实体类 注意:这里的实体必须类型和名字要和数据库的表一致 tips: 加上@Data注解自动生成对应的get set方法 在pom.xml中加上这个配置

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

然后就可以使用了

创建mapper以及对应的xml文件

在dao包下的mapper 中新建一个接口继承basemapper并且泛型是刚刚创建的实体类 tips: 创建接口 然后在对应的resource中新建刚刚接口对应的xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/schema/mybatis-mapper.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.dao.mapper.PlaneMapper">
    
</mapper>

tips: 这里的namespace需要和dao中的mapper接口对应不然会报错

创建对应的查询方法

在service中创建对应的接口和实现类 实现类继承接口 在接口中加上方法并且然继承类实现这个方法

使用@Resource注入mapper容器并且在mapper中新建一个方法searchAllFromTable 返回查询的结果 回到mapper中新建这个方法 到刚刚创建的xml文件填写sql语句 tips: 这里的id是对应mapper中的函数名 resultType对应返回的类型

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/schema/mybatis-mapper.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.dao.mapper.PlaneMapper">

    <select id="searchAllFromTable" resultType="org.example.dao.pojo.Plane">
        select * from plane
    </select>
</mapper>

最后注入到ioc容器中

创建controller让用户能够访问到

在controller中创建一个plane并且加入到ioc容器中 该包绑定的基址路径是plane 注入service并且使用其中的业务 tips: 这里注入的应该是接口而不是实现类

在配置类中添加上包扫描的路径

编写配置文件

tips: 这里的连接就填写自己的数据库就可以了

spring:
  datasource:
    url: jdbc:mysql://ip地址:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimeZone=UTC
    username: 用户名
    password: 密码
    driver-class-name: com.mysql.jdbc.Driver

启动测试

显示这个就说明启动成功了 打开浏览器测试结果

经验分享 程序员 微信小程序 职场和发展