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

软件推广联盟seo什么职位

软件推广联盟,seo什么职位,了解网页制作的基本知识,愿意做cps的网站文章目录 1. 简介2. 快速入门2.1 前置准备2.2 要点解析 3. 辅助配置3.1 配置 SQL 提示3.2 配置 Mybatis 日志输出 4. 增删改查操作 (注解)4.1 删除 (Delete)4.2 增加 (Insert)4.3 修改 (Update)4.4 查询 (Select) 5. XML 映射配置5.1 概念5.2 使用方法 6. 为什么使用 Mybatis 1…

文章目录

      • 1. 简介
      • 2. 快速入门
        • 2.1 前置准备
        • 2.2 要点解析
      • 3. 辅助配置
        • 3.1 配置 SQL 提示
        • 3.2 配置 Mybatis 日志输出
      • 4. 增删改查操作 (注解)
        • 4.1 删除 (@Delete)
        • 4.2 增加 (@Insert)
        • 4.3 修改 (@Update)
        • 4.4 查询 (@Select)
      • 5. XML 映射配置
        • 5.1 概念
        • 5.2 使用方法
      • 6. 为什么使用 Mybatis

1. 简介

  • MyBatis 是一款优秀的 持久层 框架,用于简化 JDBC 的开发
  • MyBatis 是 Apeche 的一个开源项目 iBatis,2010 年迁移到了 google code,改名为 MyBatis,2013 年迁移到 Github
  • 官网:点击进入

2. 快速入门

2.1 前置准备
  • (1 )准备工作

    • 创建 SpringBoot 工程、引入 Mybatis 相关依赖 (SQL/MyBatis Framework 和相关数据库)
    • 在这里插入图片描述
  • ( 2 ) 准备对应的用户表对象

    • 在引导类所在包下创建一个 pojo
    • 创建 User 实体类,放在 pojo 包下,对标 SQL 表
    • 实体类:实体类的属性名与表中的字段名一一对应。实体类放在 pojo 包下。
@Data  
@NoArgsConstructor  
@AllArgsConstructor  
public class User {  private Integer id; //ID  private String username; //用户名  private String password; //密码  private String name; //姓名  private Integer age; //年龄}
  • ( 3 ) 重点:编写 Mybatis :编写 Mybatis 的持久层接口,定义 SQL (注解/XML)
    • 在引导类所在包下创建一个 mapper 包,在该包下创建接口 UserMapper
    • 命名规范:XxxMapper,也成为 Mapper 接口
@Mapper
public interface UserMapper {@Select("select * from user")public List<User> findAll();
}
  • (4 ) 重点:配置 Mybatis (在 application. Properties 中数据库连接信息)
    • 以 MySQL 为例 (端口号 3306)
#数据库访问的url地址
spring.datasource.url=jdbc:mysql://localhost:3306/‘数据库名’  
#数据库驱动类类名  
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver  
#访问数据库-用户名  
spring.datasource.username=root  
#访问数据库-密码  
spring.datasource.password=root@1234
  • ( 5 ):单元测试
    • src 底下的 test 目录下,已经创建好了测试类,改造即可
@SpringBootTest
class SpringbootMybatisQuickstartApplicationTests {@Autowiredprivate UserMapper userMapper;@Testpublic void testFindAll(){List<User> userList = userMapper.findAll();for (User user : userList) {System.out.println(user);}}
}
2.2 要点解析

编写 Mybatis 中

  • @Mapper 注解:表示是mybatis中的Mapper接口
    • 程序运行时,框架会自动生成接口的实现类对象(代理对象),并给交Spring的IOC容器管理
  • @Select 注解:代表的就是select查询,用于书写select查询语句

单元测试中

  • @SpringBootTest:表示的是已经与 SpringBoot 整合
  • 测试类运行时,会自动加载 IOC 容器,所以我们直接通过@Autowired 注解注入,即可进行测试

3. 辅助配置

  • 在 Mybatis 中,有两个普遍的辅助配置,一个是配置 SQL 提示 (提示 SQL 语句),一个是配置 Mybatis 日志输出 (运行时查看 SQL 语句执行日志)
3.1 配置 SQL 提示

注意:新版本 idea 已经自动配置,如果为新版,请自行跳过

  1. 打开右边的 Database,选择创建一个数据源
    在这里插入图片描述

  2. 连接对应数据库
    在这里插入图片描述

  3. 选择让 idea 给出提示
    在这里插入图片描述

3.2 配置 Mybatis 日志输出

application.properties 加入配置, 即可在控制台查看日志

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

在这里插入图片描述

4. 增删改查操作 (注解)

  • 在 mybatis 中,有两种使用方法,一种是通过注解,一种是通过 XML 配置,注解一般是完成一些简单的增删改查功能
  • 注解主要通过在 Mapper 接口方法通过参数占位符 #{ } 占位来实现 SQL 预编译,在单元测试中编写具体逻辑来实现
  • 以下将增删改查的例子作为示例
4.1 删除 (@Delete)
  • 需求:根据 ID 删除用户信息
  • Mapper 接口
@Delete("delete from user where id =#{id}")
public void deleteById(Integer id);
  • 单元测试类
@Test
public void testDeleteById(){userMapper.deleteById(36);
}
4.2 增加 (@Insert)
  • 需求:添加一个用户
  • Mapper 接口
@Insert("insert into user(username,password,name,age) values(#{username},#{password},#{name},#{age})")
public void insert(User user);
  • 单元测试类
@Test
public void testInsert(){User user = new User();user.setUsername("admin");user.setPassword("123456");user.setName("管理员");user.setAge(30);userMapper.insert(user);
}
4.3 修改 (@Update)
  • 需求:根据 ID 更新用户信息
  • Mapper 接口
@Update("update user set username = #{username},password = #{password},name = #{name},age = #{age} where id = #{id}")
public void update(User user);
  • 单元测试类
@Test
public void testUpdate(){User user = new User();user.setId(6);user.setUsername("admin666");user.setPassword("123456");user.setName("管理员");user.setAge(30);userMapper.update(user);
}
4.4 查询 (@Select)
  • 需求:根据用户名和密码查询用户
  • Mapper 接口
@Select("select * from user where username = #{username} and password = #{password}")
public User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
  • 单元测试类
@Test
public void testFindByUsernameAndPassword(){User user = userMapper.findByUsernameAndPassword("admin666", "123456");System.out.println(user);
}

细节:在 Mapper 接口中,我们通过 @Param 注解来指定参数的名称,是因为在字节码文件中,变量名不能保存,#{ } 查询不到信息。

  • 在官方骨架创建的 springboot 项目中,@Param 注解可以省略

5. XML 映射配置

5.1 概念

Mybatis 的开发的两种方式,第一种是注解,第二种就是 XML
XML 主要用于完成复杂的 SQL 功能

XML 配置文件规范

  1. XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
  2. XML映射文件的namespace属性为Mapper接口全限定名一致
  3. XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
5.2 使用方法
  1. 创建 XML 映射文件 (遵守规范 1 ,都在 com. backend. mapper 包下,都叫 Usermapper,只是为 xml 文件)
    在这里插入图片描述
  2. 编写并配置 XML 映射文件 (官方网站)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace=""></mapper>
  1. 配置 XML 映射文件 (以编写 select 方法为例)
  • namescpace 里面是 UserMapper 的全限定名
  • <select> 标签:用于编写 select 查询语句
    - id 里面是 UserMapper 里的方法名
    - resuletType 里面是 User 的全限定名
<?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="com.backend.mapper.UserMapper">  <!--    resultTyle : 查询返回的单条数据所封装的类型-->  <select id="findAll" resultType="com.backend.pojo.User">  select id,username,name,age from user  </select>  
</mapper>
  1. 此时 Mapper 演示
//这里没有注解
List<User> findAll();
  • 全限定名的获取方法:选中方法名,右键,选择 Copy->Copy Reference 即可复制
    在这里插入图片描述

6. 为什么使用 Mybatis

先看一下 JDBC 程序的缺点:

  • Url、username、password 等相关参数全部硬编码在 java 代码中。
  • 查询结果的解析、封装比较繁琐。
  • 每一次操作数据库之前,先获取连接,操作完毕之后,关闭连接。频繁的获取连接、释放连接造成资源浪费。

再看以下 Mybatis 是如何解决这些问题

  • 数据库连接四要素 (驱动、链接、用户名、密码),都配置在 springboot 默认的配置文件 application. Properties 中
  • 查询结果的解析及封装,由 mybatis 自动完成映射封装,我们无需关注
  • 在 mybatis 中使用了数据库连接池技术,从而避免了频繁的创建连接、销毁连接而带来的资源浪费。

这篇文章到此结束,感谢观看

http://www.dtcms.com/wzjs/464092.html

相关文章:

  • 微信做模板下载网站广告投放网
  • 中亿丰建设集团股份有限公司官方网站网站推广的作用
  • 开一个网站需要什么手续推广方案策划
  • 在网上怎么建立自己的网站快速刷排名的软件最好
  • seo推广招聘seo搜索引擎优化ppt
  • 网站建设 上海珍岛手游推广平台代理
  • 动态网站开发百度网络营销中心app
  • 公司是做小程序还是做网站全国最好网络优化公司
  • 义乌网站建设工作室线上推广费用
  • 阳江网站建设推广公司电话百度账号快速注册
  • wordpress 评论倒序搜索引擎优化的主要手段
  • 网站建设业务员优化关键词排名提升
  • 依波手表价格 官方网站怎么开发自己的网站
  • 照片做视频ppt模板下载网站厂房网络推广平台
  • 微信第三方网站怎么做软文模板app
  • 自己做网站百度小说风云榜排名
  • 做cad室内平面图的家具素材网站百度网页版入口链接
  • 制作一个购物网站要多少钱什么是网络营销推广
  • 揭阳网站建设怎么宣传自己新开的店铺
  • 彩票网站制作商营销方案100个软文
  • 三亚市政府网站的建设线上销售培训机构
  • 手机网站弹出导航菜单长沙seo优化
  • 四川平台网站建设哪里有简易的旅游网页制作
  • 太原建设网站淘宝关键词搜索工具
  • 免费门户网站搭建如何seo网站推广
  • 政府网站上怎么做电子签名浏览器大全
  • 自己做彩票网站犯法吗佛山seo培训机构
  • 做网站的版式会侵权吗足球世界积分榜
  • 做自媒体用到的网站舆情优化公司
  • 崇明做网站友情链接交换的意义是什么