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

j建设局域网网站通州区网站制作

j建设局域网网站,通州区网站制作,今朝装饰口碑怎么样,网络架构图用什么软件画目录 一、认识MyBatis 1、MyBatis是什么? 2、为什么要学习MyBatis? 二、配置MyBatis环境 1、建库与建表 2、创建新项目 3、xml文件配置 (1)配置数据库连接 (2)配置 MyBatis 中的 XML 路径 三、测试&#x…

目录

一、认识MyBatis

1、MyBatis是什么?

2、为什么要学习MyBatis?

二、配置MyBatis环境

1、建库与建表

2、创建新项目 

3、xml文件配置

(1)配置数据库连接

(2)配置 MyBatis 中的 XML 路径

三、测试:第一个MyBatis查询

1、用户实体类User:和数据库属性对应

2、添加mapper接口

3、添加UserMapper.xml

4、自行测试

5、添加 Service

6、添加Controller 


一、认识MyBatis

1、MyBatis是什么?

        MyBatis是一个持久层框架,(持久:支持数据存在硬盘上),MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作,可以通过简单的 XML 或注解来完成MyBatis 是更简单完成程序和数据库交互的⼯具,也就是更简单的操作和读取数据库⼯具。之前的Spring是让Java代码更简单。

问题1:MyBatis和Spring的关系?

           MyBatis和Spring没有任何关系!如果非要有关系,就是Spring集成了MyBatis框架。就相当于我们之前的举例:Spring是高铁,那么MyBatis就是高铁的APP订餐系统,高铁只是集成了这个订餐框架,更加方便我们的出行,没有高铁订餐系统也可以在其他平台使用,所以两者之间并没有什么关系,MyBatis可以脱离Spring使用。

2、为什么要学习MyBatis?

        对于后端开发来说,程序是由以下两个重要的部分组成的:后端程序+数据库。⽽它两要建立连接,就要依靠数据库连接⼯具,我们学习的 JDBC,还有MyBatis都是,那已经有了 JDBC 了,为什么还要学习 MyBatis?这是因为 JDBC 的操作太繁琐了。

之前的JDBC代码流程:(非常繁琐)

1. 创建数据库连接池 DataSource;
2. 通过 DataSource 获取数据库连接 Connection;
3. 编写要执⾏带 ? 占位符的 SQL 语句;(√)
4. 通过 Connection 及 SQL 创建操作命令对象 Statement;
5. 替换占位符:指定要替换的数据库字段类型,占位符索引及要替换的值;(√)
6. 使⽤ Statement 执⾏ SQL 语句;
7. 查询操作:返回结果集 ResultSet,更新操作:返回更新的数量;
8. 处理结果集;(√)
9. 释放资源。
        现在MyBatis,其中sql语句,传参,处理结果集这几步需要自己实现(可以写在Java代码中,也可以写在MyBatis配置文件中)可以帮助我们更⽅便、更快速的操作数据库。不过MyBatis底层还是依赖数据库连接的。

问题2:MyBatis与数据库的关系?

        MyBatis与数据库也没有关系!MyBatis是让数据库的连接操作更简单,但是并不是数据库。MyBatis是程序和数据库的桥梁。MyBatis提供了一个接口访问数据库,接口只是方法的定义,具体的自己要实现,主要通过xml文件实现(注解也可以实现)。


二、配置MyBatis环境

1、建库与建表

-- 创建数据库
drop database if exists myBatis_db;
create database myBatis_db DEFAULT CHARACTER SET utf8mb4;-- 使⽤数据数据
use myBatis_db;-- 创建表[⽤户表]
drop table if exists userinfo;
create table userinfo(
id int primary key auto_increment,
username varchar(100) not null,
password varchar(32) not null,
photo varchar(500) default '',
createtime datetime default now(),
updatetime datetime default now(),
`state` int default 1
) default charset 'utf8mb4'-- 插入数据
INSERT INTO `myBatis_db`.`userinfo` (`id`, `username`, `password`, `photo`,
`createtime`, `updatetime`, `state`) VALUES
(1, 'root', 'root', '', '2023-7-23 17:10:48', '2023-7-23 17:10:48', 1)
;
-- 查询表
select * from userInfo;

2、创建新项目 

注意

 注意:可以新创建项目引入这些包,但是如果已经是一个老项目了,我没有安装SQL的包,可以通过安装插件实现。

 右键:generate

 

 

3、xml文件配置

(1)配置数据库连接

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

(2)配置 MyBatis 中的 XML 路径

# 配置 mybatis xml 的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件
mybatis:
mapper-locations: classpath:mapper/**Mapper.xml#Spring打印SQL日志configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

同时在resource文件下建立一个新文件夹:mapper。


三、测试:第一个MyBatis查询

 按照下⾯的流程来实现 MyBatis 查询所有⽤户的功能。

1、用户实体类User:和数据库属性对应

@Data
public class User {private Integer Id;private String username;private String password;private String photo;private Date createTime;private Date updateTime;
}

2、添加mapper接口

数据持久层的接⼝定义。

(1)是Inteferce接口;

(2)接口上方加@Mapper注解;

(3)实现接口中的方法。

@Mapper
public interface UserMapper {//定义接口:查询数据库内容public abstract List<User> queryAll();}

3、添加UserMapper.xml

数据持久成的实现,mybatis 的固定 xml 格式。同时写UserMapper.xml 查询所有⽤户的具体实现 SQL。

(1)<mapper>标签:需要指定 namespace 属性,表示命名空间,值为 mapper 接⼝的全限定名,包括全包名.类名。namespace下的是UserMapper,表示实现哪个接口
(2)模板文件,自定义sql语句,queryAll表示实现的是接口中的哪个方法。sql语句为查询就写select,写id和resultType,id是接口中的方法名,表示对接⼝的具体实现⽅法;resultType是返回结果的类型:表示返回的是一个User对象。<select>查询标签:是⽤来执⾏数据库的查询操作的。

<?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="demo1.mapper.UserMapper">
<!--表示实现的是demo1下的UserMapper接口--><select id="queryAll" resultType="demo1.model.User">select * from userinfo</select>
<!--id是方法名,resultType是返回的结果:返回的是一个User对象-->
</mapper>

4、自行测试

(1)将光标定在接口定义UserMapper的{ }里面,右键generate选择test,勾选queryAll方法。加上@SpringBootTest注解;

(2)通过@Autowired将UserMapper注入进来;

(3)查询方法上加@Test注解。

@Slf4j
@SpringBootTest
class UserMapperTest {@Autowiredprivate UserMapper userMapper;@Testvoid queryAll() {List<User> users = userMapper.queryAll();log.info(users.toString());}
}

点击测试方法上面的运行按钮,得到查询结果。 

测试通过之后,我们就可以将其应用到具体项目中了,继续下面的步骤。

5、添加 Service

服务层实现代码如下:

@Service
public class UserService {@Resourceprivate UserMapper userMapper;public List<User> queryAll(){return userMapper.queryAll();}
}

6、添加Controller 

@RestController
@RequestMapping("/web")
public class UserController {@Resourceprivate UserService userService;@RequestMapping("/queryAll")public List<User> queryAll(){return userService.queryAll();}
}

url测试通过。 


 希望自己能够更加淡定从容~说不定有一条生活也会给你一个很大的惊喜呢?😁

http://www.yayakq.cn/news/191987/

相关文章:

  • 楚雄建网站天津泰达建设集团有限公司网站
  • 网站建设所需硬件参数wordpress最大的主题
  • qfd 网站开发wordpress existing_mimes
  • 深圳住房和城乡建设局网站有什么网站可以做外贸
  • 网站的布局分类望城建设局网站
  • 怎么样给一些小网站做链接济南网络营销公司推荐
  • 电子商务公司网站建立前期准备医学专业网站
  • 网站优化营销公司wordpress相册
  • 关于网站设计的书2345网址大全设为主页
  • 建设企业网站官网登录wordpress 咨询 主题
  • 个人网站设计内容和要求淘宝客网站制作视频教程
  • asp网站显示建设中长沙市天心区建设局网站
  • 成都企业网站建设方案wordpress演示
  • 海南省住房和建设厅网站首页wordpress标签栏
  • 网站搭建制作免费做网站去哪里下载素材
  • 网站建设岗位说明书河北网站seo外包
  • 建筑网站的功能模块有哪些2020站群seo系统
  • 腾讯广告建站工具wordpress首页调用短代码
  • 郑州网站设计报价表建设博客网站制作
  • 网站移动化建设方案中国十大猎头公司介绍
  • 厦门网站快速排名优化网站功能定位分析
  • 型云网站建设泰通建设集团网站
  • 增城专业建站公司网站建设 生产
  • 网站建设实训建议企业信息公示系统全国官网
  • 网站添加留言板功能电脑系统做的好的网站
  • 西湖网站建设湖南省住房和城乡建设厅门户网站
  • 前端做网站难吗最近楼市行情走势
  • 界面网站建设能够免费换友链的平台
  • 怎么样做网站优化安徽省建设干校学校网站
  • 网站规划与设计范文wordpress网站提速