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

宁波三盛网络网站建设wordpress更换服务器搬家教程

宁波三盛网络网站建设,wordpress更换服务器搬家教程,财务软件排名,wordpress注册邮箱验证码目录 1. 配置yml配置文件 1.2 配置数据库 1.3 配置xml的路径 2. xml文件中实现数据库的增删查改操作 2.1 各文件内容 2.2 编写细节 MyBatis作为一个持久层框架,用于进行数据库操作。 MyBatis的实现方式有两种:(1)注解&…

目录

1. 配置yml配置文件

1.2 配置数据库

1.3 配置xml的路径

2. xml文件中实现数据库的增删查改操作

2.1 各文件内容

2.2 编写细节


MyBatis作为一个持久层框架,用于进行数据库操作。

MyBatis的实现方式有两种:(1)注解;(2)XML;

本文介绍基于XML实现MyBatis。

1. 配置yml配置文件

1.2 配置数据库

spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=falseusername: rootpassword: xxxxxxdriver-class-name: com.mysql.cj.jdbc.Driver

1.3 配置xml的路径

mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: truemapper-locations: classpath:mapper/**Mapper.xml

其中:

mapper是resources目录下的子目录名,**Mapper.xml表示该XML文件的命名方式必须以Mapper.xml结尾,二者均可自命名,注意对应即可; 

注:注意mapper-locations与configurations同层,都属于mybatis的下一层,注意对准层次

2. 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.zhouyou.mybatisdemo1.mapper.UserInfoXMLMapper"></mapper>

其中,namespace的值是待实现接口(UserInfoXMLMapper)的全限定类名


现使用MyBatis操作数据库实现增删查改操作。

创建一个UserInfoXMLMapper接口,用于编写方法声明;

在resource下创建一个mapper包,再创建UserInfoXMLMapper.xml用于进行数据持久层的实现;

目录结构如下:

2.1 各文件内容

1、在Mapper类中编写各个方法声明:

package com.zhouyou.mybatisdemo1.mapper;import com.zhouyou.mybatisdemo1.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;import java.util.List;@Mapper
public interface UserInfoXMLMapper {List<UserInfo> selectAll();Integer insert(@Param("userInfo") UserInfo userInfo);Integer delete(Integer id);Integer update(UserInfo userInfo);
}

2、 在UserInfoXMLMapper.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.zhouyou.mybatisdemo1.mapper.UserInfoXMLMapper"><select id="selectAll" resultType="com.zhouyou.mybatisdemo1.model.UserInfo" >select* from userInfo</select><insert id="insert" useGeneratedKeys="true" keyProperty="id">insert into userinfo (username, password, age, gender,phone)VALUES (#{userInfo.username},#{userInfo.password},#{userInfo.age},#{userInfo.gender},#{userInfo.phone})</insert><delete id="delete">delete from userinfo where id=#{id}</delete><update id="update">update userinfo set age=#{age} where id=#{id}</update>
</mapper>

3、创建测试类UserInfoXMLMapperTest内容如下:

package com.zhouyou.mybatisdemo1.mapper;import com.zhouyou.mybatisdemo1.model.UserInfo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import static org.junit.jupiter.api.Assertions.*;
@Slf4j
@SpringBootTest
class UserInfoXMLMapperTest {@Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;@Testvoid selectAll() {List<UserInfo>  userInfos=userInfoXMLMapper.selectAll();log.info(userInfos.toString());}@Testvoid delete() {userInfoXMLMapper.delete(10);}@Testvoid update() {UserInfo userInfo=new UserInfo();userInfo.setAge(21);userInfo.setId(8);userInfoXMLMapper.update(userInfo);}@Testvoid insert() {UserInfo userInfo=new UserInfo();userInfo.setUsername("tianqi");userInfo.setPassword("tianqi");userInfo.setAge(20);userInfo.setGender(2);userInfo.setPhone("18612340006");Integer result = userInfoXMLMapper.insert(userInfo);log.info("affected rows: {}\n"+"auto_increment primary key: {}",result,userInfo.getId());}
}

 以上四个方法分别实现:全列选择查询、新增、更新/更改、删除;

2.2 编写细节

1、关于<select>标签:

select标签的id指明方法,注意需与接口定义的方法名保持一致,否则会报绑定错误:

select标签的resultType指明返回的数据的类型;

2、关于参数重命名问题,使用xml实现MyBatis和使用注解实现MyBatis方法相同,使用@Param注解实现。并且当参数类型为对象时,若进行了重命名,则需使用 对象名.属性名 作为参数名;

3、对selectAll(或selectOne)、insert、update、delete四个方法,只有selectAll(或selectOne)的<select>标签需设置resultType,其余三个方法无需设置;


文章转载自:

http://sFHHXPFe.sqdjn.cn
http://40Bo0jHj.sqdjn.cn
http://KLGOhISS.sqdjn.cn
http://McjaAPkI.sqdjn.cn
http://aBJgg3uv.sqdjn.cn
http://uMB949F4.sqdjn.cn
http://OZ0zUfwS.sqdjn.cn
http://00zh0DVa.sqdjn.cn
http://JOVeB2iP.sqdjn.cn
http://sLJh2B5L.sqdjn.cn
http://ZCIAptE8.sqdjn.cn
http://jU0Zl07I.sqdjn.cn
http://BVqEpo59.sqdjn.cn
http://FufPXRUj.sqdjn.cn
http://56FZiQd4.sqdjn.cn
http://unhO7Zyu.sqdjn.cn
http://LaV7tAPy.sqdjn.cn
http://vNuo4v0g.sqdjn.cn
http://JlOKURut.sqdjn.cn
http://Jk3upCva.sqdjn.cn
http://o3WYqwEd.sqdjn.cn
http://kSRr3NSG.sqdjn.cn
http://Kcsp5WaW.sqdjn.cn
http://1AxSf0ja.sqdjn.cn
http://2pAWvT3N.sqdjn.cn
http://MenbizFU.sqdjn.cn
http://YLwHjOUi.sqdjn.cn
http://5Spr5khD.sqdjn.cn
http://uPEu0Mq7.sqdjn.cn
http://wFuf2dAy.sqdjn.cn
http://www.dtcms.com/wzjs/645146.html

相关文章:

  • 在线做海报的网站wordpress qiniu
  • 商城形式的网站需要多少钱网站怎么更改布局
  • react做网站电商培训班一般多少钱一个月
  • 廊坊网站建站建设搜索引擎优化哪些方面
  • 网站开发社区wordpress高级教程 pdf
  • 有没有专门教做扯面的网站网站建设整体解决方案
  • 电商网站功能模块图即时灵感网站
  • 汉口制作网站0317 沧州 技术支持
  • wordpress适合建什么网站宁波男科医院哪家好
  • 内部网站的作用网站建设大作业
  • 网站制作首选 新鸿儒网站策划制作
  • 如何快速更新网站快照电子商务主要学什么就业方向
  • iis如何发布php网站迅美网站建设
  • 深圳创意设计网站网站空间分销
  • q版设计网站微信支付 网站开发
  • 微信公众平台开发微网站简单的招聘网站怎么做
  • php网站开发实例教程源代码淘宝客源码 WordPress
  • 江东网站制作运城网站建设多少钱
  • 百度网站制作推广网络与设计是干嘛的
  • 贵阳网站建设公司山东网络推广咨询电话
  • h5网站制作网站开发广州网站设计皆赞乐云践新
  • 高校网站安全建设方案怎么编辑网页
  • 柳州网站seo网站s联系导师邮件模板
  • 网站推广工作如何做gd域名官网
  • 金坛网站制作抖音seo软件工具
  • 网站制作哪种好网站制作过程内容
  • 做网站的费用如何入帐昆山市网站建设
  • 网站单页发布郑州网站改版升级
  • 青岛公路建设集团有限公司网站资讯网站模版
  • api网站网址大全seo网站提交