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

深圳网站制作公司深圳app开发洪梅镇仿做网站

深圳网站制作公司深圳app开发,洪梅镇仿做网站,官网网站页面设计,住房城乡建设部门门户网站就是 ssm 那套#xff0c;在xml 上面写sql ★ 基于SqlSession来实现DAO组件的方式 - MyBatis提供的Starter会自动在Spring容器中配置SqlSession#xff08;其实SqlSessionTemplate实现类#xff09;、并将它注入其他组件#xff08;如DAO组件#xff09;- DAO组件可直接…就是 ssm 那套在xml 上面写sql ★ 基于SqlSession来实现DAO组件的方式 - MyBatis提供的Starter会自动在Spring容器中配置SqlSession其实SqlSessionTemplate实现类、并将它注入其他组件如DAO组件- DAO组件可直接调用SqlSession的方法来操作数据库。- SqlSession调用insert()、update()、delete()、selectList()、selectOne()执行SQL语句时如果SQL语句中没有占位符参数就只要传入第1个参数——该参数代表要执行的SQL语句如果要执行的SQL语句中带一个占位符参数那就传入第2个参数——该参数用于为SQL语句中的占位符参数设置值 。 【无论是用insert、update、delete、selectXxx第一个参数总是指定要执行的SQL语句的名字】。▲ 开发方式 1) 定义映射的对象类非常普通的POJO甚至无需任何注解。2定义DAO接口。3定义DAO实现类该实现类使用SqlSession的方法来操作数据库。4使用XML Mapper文件来定义SQL语句、并为SQL语句指定名字。5配置XML Mapper文件的加载路径。# 指定MyBatis的XML Mapper的加载路径mybatis.mapper-locationsclasspath*:org/crazyit/app/dao/*.xml# 指定为org.crazyit.app.domain下的所有类指定别名别名规则是类名首字母小写mybatis.type-aliases-packageorg.crazyit.app.domainPOJO 即 Plain Old Java Object 就是一个普通平凡的Java对象。 POJOPlain Old Java Object是指普通的Java对象它是一个简单的、基本的Java类没有任何特殊要求或限制。POJO类通常只包含私有字段、公共访问方法getter和setter以及一些自定义的方法。 代码演示 就是 ssm 那套在xml 上面写sql 这个没什么好说的就是比较旧的mybatis User 类 UserDao 接口 UserDaoImpl 实现类 唯一注意一点的就是如图 该方法 List selectList(String var1, Object var2); 参数是一个 Object所以如果有多个参数要传给 selectList key可以使用 Map 包起来 UserMapper.xml 命名空间对应的时候UseDao 创建和UserDao对应的Mapper文件用来写sql这个idea版本可以这样快速创建 UserDaoTest 测试类 application.properties 完整代码 User package cn.ljh.app.domain;import lombok.Data;//普通的java类 Data public class User {private Integer id;private String name;private String password;private int age;public User(){}public User(Integer id, String name, String password, int age){this.id id;this.name name;this.password password;this.age age;}Overridepublic String toString(){return User{ id id , name name \ , password password \ , age age };} } UserDao package cn.ljh.app.dao; import cn.ljh.app.domain.User; import org.apache.ibatis.annotations.*; import java.util.List;public interface UserDao {//增int save(User user);//删int deleteById(Integer id);//根据名字模糊查询ListUser findByNameLike(String namePattern);//根据年龄区间进行范围查询ListUser findByAgeBetween(Param(startAge) int startAge, Param(endAge) int endAge);}UserDaoImpl package cn.ljh.app.dao.impl;import cn.ljh.app.dao.UserDao; import cn.ljh.app.domain.User; import org.apache.ibatis.session.SqlSession; import org.springframework.stereotype.Repository;import java.util.List; import java.util.Map;//作为dao组件把这个类交给容器管理 Repository public class UserDaoImpl implements UserDao {private final SqlSession sqlSession;//通过有参构造器进行依赖注入public UserDaoImpl(SqlSession sqlSession){this.sqlSession sqlSession;}//UserMapper.xml 的命名空间private final static String namespace cn.ljh.app.dao.UserDao.;//增Overridepublic int save(User user){//insert 、 delete 、 update 、select 等方法的第一个参数一直都是 SQL 语句的 ID 就是命名空间int insert sqlSession.insert(namespace save, user);return insert;}//删Overridepublic int deleteById(Integer id){int delete sqlSession.delete(namespace deleteById, id);return delete;}//根据名字模糊查询Overridepublic ListUser findByNameLike(String namePattern){ListUser users sqlSession.selectList(namespace findByNameLike, namePattern);return users;}//根据年龄区间进行范围查询Overridepublic ListUser findByAgeBetween(int startAge, int endAge){//该方法E ListE selectList(String var1, Object var2); 参数是一个 Object//所以如果有多个参数要传给 selectList key可以使用 Map 包起来ListUser users sqlSession.selectList(namespace findByAgeBetween,Map.of(startAge, startAge, endAge, endAge));return users;} }UserMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecn.ljh.app.dao.UserDaoinsert idsaveinsert into user_inf values (null , #{name} , #{password} , #{age})/insertdelete iddeleteByIddelete from user_inf where user_id #{id}/deleteselect idfindByNameLike resultTypeuserselect user_id as id , name , password , age from user_inf where name like #{namePattern}/selectselect idfindByAgeBetween resultTypecn.ljh.app.domain.Userselect user_id as id ,name , password , age from user_inf where age between #{startAge} and #{endAge}/select /mapperUserDaoTest package cn.ljh.app;import cn.ljh.app.dao.UserDao; import cn.ljh.app.domain.User; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; import org.junit.jupiter.params.provider.ValueSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;import java.util.List;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.NONE) public class UserDaoTest {Autowiredprivate UserDao userDao;//添加user对象ParameterizedTestCsvSource({aa,xxx,2, bb,xxx,3})public void testSave(String name, String password, int age){//没有idsave就是添加int save userDao.save(new User(null, name, password, age));System.err.println(save);}//根据id删除用户对象ParameterizedTestValueSource(ints {17})public void testDelete(Integer id){userDao.deleteById(id);}//根据名字模糊查询ParameterizedTestValueSource(strings {孙%, %精})public void testFindByNameLike(String namePattern){ListUser users userDao.findByNameLike(namePattern);users.forEach(System.err::println);}//根据年龄区间进行范围查询ParameterizedTestCsvSource({15,20, 500,1000})public void testFindByAgeBetween(int startAge, int endAge){ListUser users userDao.findByAgeBetween(startAge, endAge);users.forEach(System.err::println);} }application.properties spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/springboot?serverTimezoneUTC spring.datasource.usernameroot spring.datasource.password123456# 如果想看到SQL语句输出需要将Mapper组件的日志级别设置为debug logging.level.cn.ljh.app.daodebug# 指定 MyBatis 的 XML Mapper 的加载路径 mybatis.mapper-locationsclasspath*:cn/ljh/app/dao/*.xml # 指定为 cn.ljh.app.domain 下的所有类指定别名别名规则是类名首字母小写 # 就是说xml的这个 resultTypeuser mybatis.type-aliases-packagecn.ljh.app.domainpom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.4.5/version/parentgroupIdcn.ljh/groupIdartifactIdMyBatis_sqlSession/artifactIdversion1.0.0/versionnameMyBatis_sqlSession/namepropertiesjava.version11/java.version/propertiesdependencies!-- 导入 MyBatis 整合 spring boot 的 starter --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.0/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/project
http://www.tj-hxxt.cn/news/229160.html

相关文章:

  • 淄博网站优化推广怎样制作网页木马
  • 网站建设需要收集资料吗设计网页作业
  • nas可以做网站设计方案汇报
  • 展览搭建设计网站广东阳江房产网
  • 网站建设最关键的两个素材做php网站用什么软件开发
  • 做公司网站比较好的wordpress知更鸟打赏
  • 成都网站建设空间ui设计在哪个网站可以接做
  • 粤icp备网站建设 中企动力广州网站形式
  • app应用下载网站源码免备案网站主机
  • 房地产景区网站建设方案百度推广联系方式
  • 国外做网站wordpress搜索页制作
  • 营销网站建设哪里好薇wordpress分享qq
  • 长春高铁站数据分析网页
  • 解决wordpress更改新域名后网站不能访问的问题wordpress 调取页面缩略图
  • 南京网站制作网页河北省最新消息
  • 政务公开加强网站规范化建设python基础教程第4版pdf
  • 免费企业网站怎么做做壁画在哪个网站
  • 网站建设的可行性分析网站如何做mip
  • 网站建设礼品海阳网网站
  • 怎么做直播网站超管wordpress加一个字段
  • 深圳网站优化方案微信营销的模式有哪些
  • 简要说明网站建设的步骤塘下网站建设
  • 天津建设集团网站wordpress免费汉化企业主题
  • 那里有做像美团的网站的wordpress 制作网页
  • 兰州优化网站排名重庆网站建设冒号
  • 自己有了域名 怎么做网站搜多多搜索引擎入口
  • 室内设计网站平面案例太原百度快速优化排名
  • 做旅游网站的开题报告怎么做网页的搜索功能
  • 公司做个网站好还是做公众号好给教育类做网站
  • 网站开发维护公司经营范围seo技术优化服务