文章目录
- 一、新项目创建过程
- 1. springboot带有meaven,建议本地化
- 2.创建新项目
- 3.具体各层介绍
一、新项目创建过程
1. springboot带有meaven,建议本地化
黑马程序:4.Maven
2.创建新项目
3.具体各层介绍
Entity层:实体层 数据库在项目中的类
- Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,包含实体类的属性和对应属性的set、get方法。
Mapper层(Dao): 持久层 主要与数据库进行交互
- 调用entity层。
- Mapper层,也称Dao层,会定义实际使用到的方法,比如增删改查。数据源和数据库连接的参数都是在配置文件中进行配置的,配置文件一般在同层的XML文件夹中。对数据进行持久化操作。
- Mybatis逆向工程生成的mapper层,其实就是dao层。
- 能够实现对数据的持久化操作。
Service层:业务层 控制业务
- Service层主要负责业务模块的逻辑应用设计。
- 先设计放接口的类,再创建实现的类(impl),然后在配置文件中进行配置其实现的关联。
- 调用mapper(Dao)层,接收mapper层返回的数据,完成项目的基本功能设计。
- 封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
Controller层:控制层 控制业务逻辑
- Controller层负责具体的业务模块流程的控制。
- controller层负责前后端交互,接受前端请求。
- 调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。
- resouser目录下
application.yaml
# mysql
spring:
datasource:
#MySQL配置
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/url?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username: root
password: 123456
# Mybatis配置
mybatis:
# 配置MyBatis的xml配置文件路径, private ObjectMapper objectMapper;
mapper-locations: classpath:mapper/*.xml
# 配置XML映射文件中指定的实体类别名路径
type-aliases-package: com.example.demo.model
# 开启驼峰uName自动映射到u_name
# map-underscore-to-camel-case: true
server:
port: 9000
# TODO 配置数据源相关信息
server:
port: 80
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db #?servierTimezone=UTC
username: root
password: root
mapper.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">
<!--namespace=对应dao的路径-->
<mapper namespace="com.urlhou.hou.dao.UserDao">
<!-- resultType是entity文件夹下ueser的对象-->
<select id="getUserByMassage" resultType="com.urlhou.hou.bean.User">
SELECT * FROM easuser WHERE username=#{username} AND password=#{password}
</select>
<select id="getAllUser" resultType="com.urlhou.hou.bean.User">
SELECT * FROM easuser
<if test="username !=null ">
WHERE username like #{username}
</if>
LIMIT #{pageStart},#{pageSize}
</select>
<select id="getUserCounts" resultType="java.lang.Integer">
SELECT count(*) FROM `easuser`
<if test="username !=null ">
WHERE username like #{username}
</if>
</select>
<delete id="deleteUser">
DELETE FROM easuser WHERE id = #{id}
</delete>
</mapper>