当前位置: 首页 > wzjs >正文

温州论坛网站首页网站开发具体工作有那些

温州论坛网站首页,网站开发具体工作有那些,邯郸 网站建设,paypal绑定wordpress目录 一、什么是Mybatis? 二、Mybatis入门操作 1.准备工作 2.引入mybatis相关依赖,配置mybatis 3.编写sql代码(建库建表) 4.编写持久层代码 Mapper注解: Mapper的两种实现方式 5.单元测试 6.配置mybatis相关日…

目录

一、什么是Mybatis?

二、Mybatis入门操作

1.准备工作

2.引入mybatis相关依赖,配置mybatis

 3.编写sql代码(建库建表)

4.编写持久层代码

@Mapper注解:

Mapper的两种实现方式

5.单元测试

6.配置mybatis相关日志


一、什么是Mybatis?

Mybatis是一款优秀的 持久层 框架,用于简化JDBC的开发。

持久层:指的就是持久化操作的层,通常指数据访问层(dao或Repository),是用来操作数据库的。

 简单来说Mybatis 是更简单 完成程序和数据库交互的框架,也就是更简单的操作和读取数据库工具。


二、Mybatis入门操作

mybatis操作数据库的步骤:

  1. 准备工作(创建springboot工程、数据库表准备、实体类)
  2. 引入mybatis的相关依赖,配置mybatis(数据库连接信息)
  3. 编写sql语句
  4. 写持久层代码
  5. 单元测试
  6. 配置mybatis相关日志

1.准备工作

创建工程

打开idea,创建springboot项目,并导入mybatis框架依赖包,mysql驱动包。

 mybatis是一个持久层框架,具体的数据存储和数据操作还是在mysql中 操作的,所以需要添加mysql驱动。

2.引入mybatis相关依赖,配置mybatis

引入依赖

项目创建完成后,自动在pom.xml文件中导入了Mybatis依赖和mysql驱动依赖。

<!--Mybatis 依赖包-->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version>
</dependency>
<!--mysql驱动包-->
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope>
</dependency>

配置mybatis

mybatis中要连接数据库,需要数据库相关参数配置

  • mysql驱动类
  • 登录名
  • 密码
  • 数据库连接字符串

application.yml文件下的配置:

# 数据库连接配置
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?
characterEncoding=utf8&useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver

注意事项:

如果使⽤ MySQL 是 5.x 之前的使⽤的是"com.mysql.jdbc.Driver",如果是⼤于 5.x 使⽤的
是“com.mysql.cj.jdbc.Driver"。

application.properties文件下的配置:

#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test?
characterEncoding=utf8&useSSL=false
#连接数据库的⽤⼾名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=root

 补充:如果只引入了依赖而不配置数据库相关参数,运行会报错,显示找不到数据源。

 3.编写sql代码(建库建表)

建库建表

CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;-- 使⽤数据数据
USE mybatis_test;
-- 创建表[⽤⼾表]
DROP TABLE IF EXISTS user_info;
CREATE TABLE `user_info` (`id` INT ( 11 ) NOT NULL AUTO_INCREMENT,`username` VARCHAR ( 127 ) NOT NULL,`password` VARCHAR ( 127 ) NOT NULL,`age` TINYINT ( 4 ) NOT NULL,`gender` TINYINT ( 4 ) DEFAULT '0' COMMENT '1-男 2-⼥ 0-默认',`phone` VARCHAR ( 15 ) DEFAULT NULL,`delete_flag` TINYINT ( 4 ) DEFAULT 0 COMMENT '0-正常, 1-删除',`create_time` DATETIME DEFAULT now(),`update_time` DATETIME DEFAULT now() ON UPDATE now(),PRIMARY KEY ( `id` ) 
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4; 
-- 添加⽤⼾信息
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'admin', 'admin', 18, 1, '18612340001' );
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'zhangsan', 'zhangsan', 18, 1, '18612340002' );
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'lisi', 'lisi', 18, 1, '18612340003' );
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'wangwu', 'wangwu', 18, 1, '18612340004' );

 创建对应实体类

注意:实体类的属性名与表中的 字段名最好是一一对应的,实现属性绑定。

import lombok.Data;
import java.util.Date;
@Data
public class UserInfo {private Integer id;private String username;private String password;private Integer age;private Integer gender;private String phone;private Integer deleteFlag;private Date createTime;private Date updateTime;
}

4.编写持久层代码

持久层即数据访问层,负责数据的持久化存储与读取。

在mybatis中,持久层的核心组件就是Mapper接口。

Mapper(映射器)是Mybatis中用于定义数据库操作的接口或XML文件,其核心作用是将Java方法与sql语句进行绑定、

@Mapper注解:

是mybatis提供的注解,用于标识一个接口为Mapper的组件,在Spring整合Mybatis时,它的作用是:

  • 自动生成代理实现:mybatis动态创建接口的代理类,生成代理对象,并交给Spring的ioc容器管理,自动地处理SQL调用。
  • Bean注册:被标注的接口会被Spring管理,可以直接注入使用。

mapper接口:

@Mapper
public interface BookRepository {@Select("select *from message_info")List<Book> getBooks();
}

Bean注入并完成sql操作:

@Service
public class BookService {@AutowiredBookRepository bookRepository;public List<Book> getMessage(){return bookRepository.getBooks();}
}

Mapper的两种实现方式

方式1: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="org.example.mybatisdemo.mapper.UserInfoXMLMapper"><select id ="selectAll" resultType="org.example.mybatisdemo.model.UserInfo">select *from user_info</select></mapper>
@Mapper
public interface UserInfoMapper {@Select("select id, username, password, age, gender, phone, delete_flag as deleteFlag, create_time as create_Time," +" update_time as update_Time from user_info")List<UserInfo> selectAll();
}
  • 优点: sql与Java代码解耦,适合复杂查询。
  • 缺点:需维护额外的xml文件。

 方式2:注解

@Mapper
public interface UserMapper {@Insert("INSERT INTO user(name) VALUES(#{name})")void insertUser(User user);
}
  • 优点:简洁,适合简单sql。
  • 简洁:sql混入Java代码,复杂的sql语句可读性差。

5.单元测试

什么是单元测试?

单元测试是针对软件中 最小测试单元(如类、方法)的验证过程。

目标:确保每个代码单元按预期工作,隔离外部依赖(数据库、网络)。

我们可以测试某个方法,具体步骤如下:

  • 右键点击Generate

  • 然后点击Test

  •  选择要测试的方法,点击OK即可

  •  最后得到

 创建完后,在src下的test目录下的测试类,我们可以直接使用这个测试类来进行测试。

在测试类上添加@SpringBootTest,表示测试类在运行时,就会自动加载Spring的运行环境(包括所有Bean的加载和配置),使测试能够模拟真实运行环境,验证多个组件之间的协作。

比如我们可以进行依赖的注入,模拟真实的环境。

6.配置mybatis相关日志

通过配置mybatis的日志,我们可以借助日志查看到sql语句的执行情况。

在配置文件中配置:

application.properties 配置内容如下:

#指定mybatis输出⽇志的位置, 输出控制台
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

application.yml配置内容如下:

mybatis:configuration: # 配置打印 MyBatis⽇志log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

重新运行程序,可以看到sql执行的内以及参数传递的情况。

  1.  查询语句
  2. 传递参数及类型
  3. sql执行结果


文章转载自:

http://843eHeza.zsyqg.cn
http://4lFNpEm5.zsyqg.cn
http://mN2dz60t.zsyqg.cn
http://GLcebcp4.zsyqg.cn
http://EIsWN2Z7.zsyqg.cn
http://wlhtzn8J.zsyqg.cn
http://w0oq8ehO.zsyqg.cn
http://1GqhmwEa.zsyqg.cn
http://vCkcPaXR.zsyqg.cn
http://XwAYqDXA.zsyqg.cn
http://CWTXqIIa.zsyqg.cn
http://yh15gErs.zsyqg.cn
http://wtQhjWjO.zsyqg.cn
http://qPkIalr8.zsyqg.cn
http://yshFe9qc.zsyqg.cn
http://ZqWnXcVK.zsyqg.cn
http://C5c0gGfr.zsyqg.cn
http://bGqwu4WV.zsyqg.cn
http://1v4d7SFT.zsyqg.cn
http://soihx9wI.zsyqg.cn
http://Uq5izGRI.zsyqg.cn
http://gvdbJQr1.zsyqg.cn
http://EM4lnRcm.zsyqg.cn
http://ConRzJsD.zsyqg.cn
http://HuBnMcLO.zsyqg.cn
http://ecxKR8B4.zsyqg.cn
http://GZSnqpOj.zsyqg.cn
http://kSitnJyJ.zsyqg.cn
http://aHnV9zlz.zsyqg.cn
http://j48Y0rT6.zsyqg.cn
http://www.dtcms.com/wzjs/654520.html

相关文章:

  • wordpress小工具怎么使用关键词排名优化免费
  • 淘宝客怎么做直播网站北京市建设工程信息网有哪些
  • 怎么做自己网站产品seo江西省企业登记网络服务平台官网
  • 个人商城网站源码wap类网站
  • 湘潭做网站价格 d磐石网络江西网站制作公司
  • 南联网站建设推广跨境电商免费开店的有哪些
  • 网站空间和域名区别中国建筑信息查询平台
  • 网站描述wordpress卖货平台排名前十
  • 深圳网站设计与开发上海有哪些公司名字叫什么
  • cnzz 网站跳出率查询百度关键词搜索推广
  • 前端学校网站开发视频教程电话营销技巧和营销方法
  • 电子商务网站建设与维护教案理财公司网站模板下载
  • 建个人博客网站牡丹江哪个网络好
  • 专业制作网站用哪些软件创建网站建设
  • 网站维护难做初学者做网站的软件
  • 有一个网站专门做促销小游戏无锡手机网站制作费用
  • 三合一网站建设是指网站打开慢 可以只换空间不换域名吗
  • django 开发一个公司网站如何网站
  • 淘宝网站开发方式东营企业网站排名
  • 网站建设的所有权个人网站建设的目标
  • 自己架设网站备案网站开发样例
  • 如何让网站排名下降旅游网站建设可行性分析
  • 简单详细搭建网站教程山东官方网站栖霞市观里镇少城镇建设规划
  • 邯郸创建网站要多少钱动画网站欣赏
  • 网络推广和网站推广的关系做网站行业现状
  • 智能建站cms管理系统dw和sql做网站
  • 如何做产品网站推广wordpress先页面再首页
  • 深圳团购网站设计价格wordpress迁移到vps
  • 网站设计网站建设网站制作网站开发成本如何账务处理
  • 贵阳市建设厅网站网络营销swot分析