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

网站建设价格标准渠道/新闻头条今日最新消息

网站建设价格标准渠道,新闻头条今日最新消息,网站开发合同文档,中国人做外贸网站都卖什么手续目录 一、环境准备二、简单启动三、增< insert id >四、返回主键五、删<delete id >六、改<update id >七、查< select id resultType > 一、环境准备 在使用XML来实现的数据库操作的时候&#xff0c;我们的依赖下载与前面的使用注解时的依赖是一…

目录

  • 一、环境准备
  • 二、简单启动
  • 三、增< insert id = >
  • 四、返回主键
  • 五、删<delete id = >
  • 六、改<update id = >
  • 七、查< select id = resultType = >

一、环境准备

在使用XML来实现的数据库操作的时候,我们的依赖下载与前面的使用注解时的依赖是一样的。

		<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.4</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>3.0.4</version><scope>test</scope></dependency>

在配置文件yml格式,也需要添加上跟使用注解时的配置。还要多加上mybatis. mapper-locations: classpath:mapper/**Mapper.xml

# 数据库连接配置 
spring:application:name: spring-mybatis-demodatasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=falseusername: rootpassword: 1234driver-class-name: com.mysql.cj.jdbc.Drivermybatis:configuration: # 配置打印 MyBatis⽇志log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true #配置驼峰⾃动转换# 配置 mybatis xml 的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件 mapper-locations: classpath:mapper/**Mapper.xml

二、简单启动

我们先安装一个插件MybatisX,可以帮我们更简单实现xml文件与接口之间的跳转。

mapper接口:

package com.example.springmybatisdemo.mapper;import com.example.springmybatisdemo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;import java.util.List;
@Mapper
public interface UserMapperXML {List<UserInfo> selectAll();
}

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="com.example.springmybatisdemo.mapper.UserMapperXML"><select id="selectAll" resultType="com.example.springmybatisdemo.model.UserInfo">select * from user_info;</select></mapper>
  • <mapper> 标签:需要指定 namespace 属性,表⽰命名空间,值为 UserMapperXML 接⼝的全限定名,包括全包名.类名。
  • <select> 查询标签:是⽤来执⾏数据库的查询操作的:
  • id :是和 Interface (接⼝)中定义的⽅法名称⼀样的,表⽰对接⼝的具体实现⽅法。
  • resultType :是返回的数据类型,也就是我们定义的实体类.

测试:

package com.example.springmybatisdemo.mapper;import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class UserMapperXMLTest {@Autowiredprivate UserMapperXML userMapperXML;@BeforeEachvoid setUp() {}@AfterEachvoid tearDown() {}@Testvoid selectAll() {System.out.println(userMapperXML.selectAll());}
}

结果:

三、增< insert id = >

使用标签< Insert >来写入数据,直接使⽤UserInfo对象的属性名来获取参数。

    <insert id="insertOne">insert into user_info (username, password, age) values (#{username},#{password},#{age})</insert>

测试函数:

    @Testvoid insertOne() {UserInfo userInfo = new UserInfo();userInfo.setAge(8);userInfo.setPassword("888");userInfo.setUsername("888");Integer result = userMapperXML.insertOne(userInfo);System.out.println("增加函数:"+ result);}

测试结果:

四、返回主键

还是使用< insert >标签来写入数据,只不过设置useGeneratedKeys 和keyProperty属性 。

  • useGeneratedKeys:这会令 MyBatis 使⽤ JDBC 的 getGeneratedKeys ⽅法来取出由数据库内部⽣成的主键(⽐如:像 MySQL 和 SQL Server 这样的关系型数据库管理系统的⾃动递增字段),默认值:false.
  • keyProperty:指定能够唯⼀识别对象的属性,MyBatis 会使⽤ getGeneratedKeys 的返回值或 insert 语句的 selectKey ⼦元素设置它的值,默认值:未设置(unset)
<insert id="insertOne" useGeneratedKeys="true" keyProperty="id">insert into user_info (username, password, age) values (#{username},#{password},#{age})</insert>

测试方法:

    @Testvoid insertOne() {UserInfo userInfo = new UserInfo();userInfo.setAge(9);userInfo.setPassword("999");userInfo.setUsername("999");Integer result = userMapperXML.insertOne(userInfo);System.out.println("增加函数:"+ result+", 增加数据的id:"+userInfo.getId());}

结果:

五、删<delete id = >

使用< delete >标签,加上删除的SQL语句即可。

    <delete id="deleteOne">delete from user_info where id = #{id}</delete>

测试方法:

    @Testvoid deleteOne() {userMapperXML.deleteOne(9);}

结果:

六、改<update id = >

修改数据直接使用< update >注解,加上修改SQL语句即可。

    <update id="updateOne">update user_info set delete_flag = #{deleteFlag} where id = #{id}</update>

测试方法:

@Testvoid updateOne() {UserInfo userInfo = new UserInfo();userInfo.setId(8);userInfo.setDeleteFlag(1);userMapperXML.updateOne(userInfo);}

结果:

七、查< select id = resultType = >

查询我们只需要使用标签即可。
但是我们也会遇见像前面注解的时候因为字段名和变量名不同而导致映射错误。解决方式与前面也相似。

  1. 使用起别名的查询语句,将数据库不同字段名取别名为属性名。
<?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.example.springmybatisdemo.mapper.UserMapperXML"><select id="selectAll" resultType="com.example.springmybatisdemo.model.UserInfo">select username , password, age, gender, phone,delete_flag as deleteFlag , create_time as createTime, update_time as updateTimefrom user_info</select></mapper>
  1. 使用配置文件将数据库字段中使用下划线的蛇形命名转换为小驼峰命名。mybatis.configuration.map-underscore-to-camel-case: true
mybatis:configuration:map-underscore-to-camel-case: true #配置驼峰⾃动转换
  1. 使用标签result和resultMap。在resultMap标签中放入result标签数组,result标签的column属性对应数据库字段,property属性对应类属性名。当其他查询语句需要使用相同的映射时,这需要在select标签的resultMap属性写上resultMap标签的id属性即可。
	<resultMap id="UserMap" type="com.example.springmybatisdemo.model.UserInfo"><result column="delete_flag" property="deleteFlag"></result><result column="create_time" property="createTime"></result><result column="update_time" property="updateTime"></result></resultMap><select id="selectAll" resultType="com.example.springmybatisdemo.model.UserInfo" resultMap="UserMap">select * from user_info</select>

http://www.lryc.cn/news/577957.html

相关文章:

  • 用jsp做的汽车网站/防疫测温健康码核验一体机
  • 临朐网站建设建站首选哪家公司/企业查询宝
  • 做网站如何收集资料/百度关键词排名怎么靠前
  • 有哪些网站可以做外贸/地推app
  • dw做网站导航/职业技能培训平台
  • 成都娱乐场所最新消息/seo推广培训
  • 网站建设存在困难/百度一下就一个
  • 制作快递网站/手机自己怎么建电影网站
  • 15个html5手机网站模板/seo营销方法
  • 成绩查询网站开发/如何快速推广一个新产品
  • 注册服务器网站哪个好/如何在百度上添加自己的店铺
  • 深圳做网站/在线crm网站
  • 洛阳做网站的/百度公司地址
  • 做我女朋友程序网站/网站推广排名服务
  • 网站详情页用哪个软件做/挖掘关键词的工具
  • 石家庄网站建设seo优化营销/软文代写价格
  • 宁波网站建设培训/seo关键词挖掘
  • 自动发文章到WordPress/网络seo是什么工作
  • wordpress如何查看网站日记/搜索热词排行榜
  • 泉州网站关键词排名/泰安网站建设
  • 网站建设与维护期末试卷/百度在线客服问答
  • 徐水网站建设/网站制作培训
  • 怎么在中国移动做网站备案/百度ai人工智能
  • 江西南昌网站建设公司哪家好/seo和sem推广
  • 淮南网云小镇房价/手机网站关键词seo
  • 中小企业网站该怎么做/品牌推广的具体方法
  • 北京企业建设网站/今日国际军事新闻最新消息
  • 淮南做网站/长沙靠谱关键词优化服务
  • 如何防止网站攻击/成都建设网官网
  • 用空间做网站如何做好安全/推广营销app