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

湖南省建设厅政务中心网站汽车网站开发与实现 论文

湖南省建设厅政务中心网站,汽车网站开发与实现 论文,正规seo需要多少钱,网站重定向怎么做目录#xff1a; 一、Mybatis是什么 三个映射关系如下图#xff1a; 二、mybatis的使用#xff08;前置工作简单案例#xff09; 第一步#xff1a;导入MAVEN依赖 第二步#xff1a; 在spring项目当中新建数据源 第三步#xff1a;新建一个实体类#xff0c;是和…目录 一、Mybatis是什么 三个映射关系如下图 二、mybatis的使用前置工作简单案例 第一步导入MAVEN依赖 第二步 在spring项目当中新建数据源 第三步新建一个实体类是和数据库进行交互的实体类 第四步新建一个mapper文件夹src目录下面) 第五步在mybatis下面新建一个UserMapper.xml的文件夹 第六步在两个mapper标签之间编写查询的sql语句 resultType属性用于标记返回的是什么类型同时指定返回的对象是哪个 第七步在其他类当中调用getAll方法 总结一下mybatis的执行流程 三、复杂操作 3.1根据id查询用户对象 第一步在UserMapper当中编写一个根据id查询用户对象的方法 第二步在配置文件当中编写查询的方法 mybatis两种占位符$和#的区别 3.2把一个对象作为参数进行传递 第一步在UserMapper当中新建一个以User为参数的方法 第二步在配置文件当中直接获取user的属性 第三步进行测试 3.3删改的操作 第一步在mapper层编写增删改的方法 第二步在xml文件当中配置增删改的方法(无需返回值) 第三步 编写测试的方法 3.4新增数据操作(以新增一个User对象为例) 第一步在mapper当中新建一个方法 第二步在xml文件当中配置一个新增方法 第三步新建一个方法用于测试 四、springBoot单元测试 4.1添加springBoot的测试依赖 4.2生成需要测试方法的测试等价类 第一步右键需要测试的方法然后生成get和set方法 第二步为测试类添加SpringBootTest注解 第三步在测试类当中使用Autowired来获取bean进行测试 如何避免测试的数据影响正常数据库的数据(Test Transactional) 一、Mybatis是什么 mybatis是一款优秀的持久层框架主要与数据库层也就是mysql层打交道的它支持自定义sql、存储过程以及数据库对应到实体的映射等等。 也就是把数据库当中的每一行记录与对象建立起来映射的关系。 三个映射关系如下图 数据库当中的属性Java程序当中的属性数据库表(table)类(class记录(record)对象(object)字段(field)对象的属性(attribute) 二、mybatis的使用前置工作简单案例 第一步导入MAVEN依赖 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.0/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency第二步 在spring项目当中新建数据源 下面我选择的是application.properties文件配置的 需要在resource目录下面新建一个文件夹文件夹的名称被命名为:mybatis。 后续的xml配置文件就需要在这个mybatis文件夹当中编写了。 配置文件的内容  spring.datasource.urljdbc:mysql://localhost:3306/my_blog_system?characterEncodingutf8useSSLfalse spring.datasource.usernameroot spring.datasource.password20021111aA# spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver ############设置mybatis的保存路径 mybatis.mapper-locationsclasspath:/mybatis/*Mapper.xml 第三步新建一个实体类是和数据库进行交互的实体类 在这个类当中需要满足上面的一一对应的关系。 /*** author 25043*/ Data public class User {private int id;private String username;private String password;}第四步新建一个mapper文件夹src目录下面) 这个文件夹用于存放和数据库进行直接交互的实体类但是这些类一般都是接口我们只需要在这些接口当中定义一些方法即可。 例如在下面这个类当中定义一个查询所有用户的方法 /*** 使用这个注解标记这个类是一个持久层的类* author 25043*/ Mapper public interface UserMapper {/*** 查询所有用户* 查询用户return*/ListUser getAll(); } 第五步在mybatis下面新建一个UserMapper.xml的文件夹 在这个文件夹当中黏贴下面的内容 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybati s.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.springLearning.Mapper.UserMapper/mapper 需要注意的是mapper namespace这个标签的内容为需要返回的User对象的全限定名。 第六步在两个mapper标签之间编写查询的sql语句 其中select标签为查询标签其余的还有update标签用于修改)指定的id为查询的方法 以及insert标签用于新增。 mapper namespacecom.example.springLearning.Mapper.UserMapperselect idgetAll resultTypecom.example.springLearning.Entity.Userselect *from user/select /mapper resultType属性用于标记返回的是什么类型同时指定返回的对象是哪个 第七步在其他类当中调用getAll方法 需要注意的是其他类调用的时候一定要确保 Service public class UserServiceImpl implements UserService {Autowiredprivate UserMapper userMapper;public ListUser getAll(){return userMapper.getAll();} } 总结一下mybatis的执行流程 三、复杂操作 3.1根据id查询用户对象 第一步在UserMapper当中编写一个根据id查询用户对象的方法 /*** 根据id查询用户* 用户的idparam id* 单个实体用户return*/User getUserById(Param(id) Integer id); 第二步在配置文件当中编写查询的方法 select idgetUserById resultTypecom.example.springLearning.Entity.Userselect *from user where userId${id};/select mybatis两种占位符$和#的区别 占位符主要区别优缺点${}直接替换相当于直接拼接 ①不可以解决sql注入 ②当查询的数据类型需要手动添加引号的时候会报错因为是直接拼接数据 #{}占位符也就是?进行替换 ①可以解决sql注入 ②无需手动添加引号。 3.2把一个对象作为参数进行传递 第一步在UserMapper当中新建一个以User为参数的方法 /*** 处理用户登录* 用户对象param user* 用户对象return*/User login(User user); 第二步在配置文件当中直接获取user的属性 第三步进行测试 Testvoid login() {User usernew User();user.setUsername(zhangSan);user.setPassword(123);User userGetuserMapper.login(user);System.out.println(userGet);} 3.3删改的操作 第一步在mapper层编写增删改的方法 /*** 删除user* user对象param user* 删除return*/Integer delete(User user); 注意这里的返回值一定要设置为包装类型不可以是基本数据类型  第二步在xml文件当中配置增删改的方法(无需返回值) 和查询操作类似但是无需在标签当中指定resultType。 select iddeletedelete from user where username#{username};/select 第三步 编写测试的方法 Testvoid testInsert(){User usernew User();user.setUsername(lisi);userMapper.delete(user);} 3.4新增数据操作(以新增一个User对象为例) 第一步在mapper当中新建一个方法 Integer insert(User user); 第二步在xml文件当中配置一个新增方法 select idinsertinsert into user(username,password) values(#{username},#{password}); /select 第三步新建一个方法用于测试 public int insert(User user){return userMapper.insert(user); } 四、springBoot单元测试 4.1添加springBoot的测试依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency 4.2生成需要测试方法的测试等价类 第一步右键需要测试的方法然后生成get和set方法 然后就可以看到生成了测试的目录并且在测试的目录下面生成了这样的代码 第二步为测试类添加SpringBootTest注解 第三步在测试类当中使用Autowired来获取bean进行测试 SpringBootTest class UserServiceImplTest {Autowiredprivate UserMapper userMapper;Testvoid getAll() {}Testvoid getUserById() {User useruserMapper.getUserById(2);System.out.println(user);} } 如何避免测试的数据影响正常数据库的数据(Test Transactional) 只需要在一个测试的方法上面标注Test注解加上Transactional两个注解即可。 Test Transactional void testInsert(){User usernew User();user.setUsername(张三);userMapper.delete(user);} 这样子即使插入了数据也会在方法调用结束之后回滚事物。
http://www.hkea.cn/news/14426207/

相关文章:

  • 网站管理登录动漫设计与制作大学
  • 中学网站源码企业网站建设条件
  • 网站附件下载表格怎么做wordpress登录网址
  • 动易网站中添加邮箱成都网络营销策划
  • 做网站1核1g服务器够吗外贸兼职平台
  • 商务网站主页设计公司国产免费erp软件
  • 网站名称去哪里注册中国制造交易网登录
  • 网站建设公司招人建网站软件哪个好
  • 网站域名怎么改化妆品瓶子怎么做网站
  • 郴州网站小程序网站开发包括什么
  • 做钢化膜网站百度中心
  • 易企秀微网站如何做文字链接静态网站设计与制作书籍
  • 网站开发 activex视频网站亏损也做
  • 高档网站模板找大连做企业网站的公司
  • 手机网站 制作校园兼职网站建设
  • 计算机应用技术 网站开发wordpress前大
  • 瑞安网站开发申请网站域名多少钱
  • 做非法网站的有没有外贸公司做网站
  • 公司网站建设全包公司微信网站建设方案
  • h5网站建设+北京wordpress第三方客户端
  • 怎么建一个免费的网站河北网站制作 网站开发
  • 申请备案网站首页seo提权软件
  • 湖州市交通建设管理局网站wordpress备案号居中
  • 自己服务器建网站 备案网站一键制作
  • 做彩妆网站的公司网站制作乛薇
  • 网上工伤做实网站电影宣传推广方案
  • 站长资源平台微信公众平台开发源码
  • 教育网站制作下载建筑设计作品展示网站
  • 一个网站成本软件首页设计
  • 韶关建网站推广软文平台