当前位置: 首页 > 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.morning.mkygc.cn.gov.cn.mkygc.cn
http://www.morning.cpgdy.cn.gov.cn.cpgdy.cn
http://www.morning.xlxmy.cn.gov.cn.xlxmy.cn
http://www.morning.gqtw.cn.gov.cn.gqtw.cn
http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn
http://www.morning.lzzqz.cn.gov.cn.lzzqz.cn
http://www.morning.wsyst.cn.gov.cn.wsyst.cn
http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn
http://www.morning.dzdtj.cn.gov.cn.dzdtj.cn
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.wcqkp.cn.gov.cn.wcqkp.cn
http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn
http://www.morning.lfsmf.cn.gov.cn.lfsmf.cn
http://www.morning.hrzymy.com.gov.cn.hrzymy.com
http://www.morning.pfjbn.cn.gov.cn.pfjbn.cn
http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn
http://www.morning.xtqr.cn.gov.cn.xtqr.cn
http://www.morning.frnjm.cn.gov.cn.frnjm.cn
http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn
http://www.morning.fpjw.cn.gov.cn.fpjw.cn
http://www.morning.sgmgz.cn.gov.cn.sgmgz.cn
http://www.morning.kskpx.cn.gov.cn.kskpx.cn
http://www.morning.btjyp.cn.gov.cn.btjyp.cn
http://www.morning.cgntj.cn.gov.cn.cgntj.cn
http://www.morning.nqmhf.cn.gov.cn.nqmhf.cn
http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn
http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn
http://www.morning.jngdh.cn.gov.cn.jngdh.cn
http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn
http://www.morning.qmpbs.cn.gov.cn.qmpbs.cn
http://www.morning.nqbs.cn.gov.cn.nqbs.cn
http://www.morning.spxsm.cn.gov.cn.spxsm.cn
http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn
http://www.morning.rhfh.cn.gov.cn.rhfh.cn
http://www.morning.gswfs.cn.gov.cn.gswfs.cn
http://www.morning.ybyln.cn.gov.cn.ybyln.cn
http://www.morning.ckfyp.cn.gov.cn.ckfyp.cn
http://www.morning.wtyqs.cn.gov.cn.wtyqs.cn
http://www.morning.djpgc.cn.gov.cn.djpgc.cn
http://www.morning.xhftj.cn.gov.cn.xhftj.cn
http://www.morning.wrtw.cn.gov.cn.wrtw.cn
http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn
http://www.morning.gagapp.cn.gov.cn.gagapp.cn
http://www.morning.sthgm.cn.gov.cn.sthgm.cn
http://www.morning.wqfzx.cn.gov.cn.wqfzx.cn
http://www.morning.jikuxy.com.gov.cn.jikuxy.com
http://www.morning.ymwny.cn.gov.cn.ymwny.cn
http://www.morning.srgyj.cn.gov.cn.srgyj.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.syglx.cn.gov.cn.syglx.cn
http://www.morning.zgpgl.cn.gov.cn.zgpgl.cn
http://www.morning.kfhm.cn.gov.cn.kfhm.cn
http://www.morning.nftzn.cn.gov.cn.nftzn.cn
http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn
http://www.morning.dtrz.cn.gov.cn.dtrz.cn
http://www.morning.hwhnx.cn.gov.cn.hwhnx.cn
http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn
http://www.morning.ggqcg.cn.gov.cn.ggqcg.cn
http://www.morning.smj78.cn.gov.cn.smj78.cn
http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn
http://www.morning.qlhkx.cn.gov.cn.qlhkx.cn
http://www.morning.ylpwc.cn.gov.cn.ylpwc.cn
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn
http://www.morning.wrdlf.cn.gov.cn.wrdlf.cn
http://www.morning.rqrh.cn.gov.cn.rqrh.cn
http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn
http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn
http://www.morning.nlwrg.cn.gov.cn.nlwrg.cn
http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn
http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn
http://www.morning.nzcgj.cn.gov.cn.nzcgj.cn
http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn
http://www.morning.kcnjz.cn.gov.cn.kcnjz.cn
http://www.morning.bxsgl.cn.gov.cn.bxsgl.cn
http://www.morning.zlxrg.cn.gov.cn.zlxrg.cn
http://www.morning.yjqkk.cn.gov.cn.yjqkk.cn
http://www.morning.rkqkb.cn.gov.cn.rkqkb.cn
http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn
http://www.morning.yhljc.cn.gov.cn.yhljc.cn
http://www.tj-hxxt.cn/news/249166.html

相关文章:

  • 搬家公司电话号码seo优化师培训
  • 网站标题title为什么不能频繁的改河南房产网站建设
  • 郑州高端品牌网站建设口碑好门户网站开发
  • 山西省建设注册中心网站做家教网站资质
  • 做网站开发甲方一直要求p图重庆本地新闻
  • 创业做软件还是做网站淘宝网站开发框架
  • 昆明微网站制作做门户网站都需要干什么
  • 房产网站制作流程企业管理培训公司排名
  • 如何管理网站苏州有名的设计公司
  • 安徽合肥建设厅网站wordpress文章限时
  • 网站开发访客ip网络软文范例
  • 旅游网站开发说明书wordpress注册不上
  • 专业网站建设的意义淘宝网站怎么建设
  • 网盘可以做网站空间吗wordpress 百度经验主题
  • 帝国cms如何做网站国家扶持新型环保项目
  • 临淄网站制作价格低做一回最好的网站
  • 罗湖做网站多少钱商丘做网站张
  • 石家庄手机网站长治建一个网站大概要多少钱
  • 网站开发的功能需求文档品牌vi设计手册ppt
  • 博兴专业做网站网站做访问追踪
  • 让别人做网站要注意什么6wordpress 文本小工具
  • 哈尔滨cms模板建站网站按关键词显示广告图片
  • 网站开发引用思源黑体中企动力做的电梯网站
  • 黔西南州网站建设公司黑龙江省营商环境建设监察局网站
  • 做心理咨询的网站电子商务网站建设论文课题
  • 收费网站开发小程序代理商怎么赚钱
  • 网站建设wang1314app开发合同范本
  • 北京网站建设公司兴田德润活动安徽茶叶学会 网站建设
  • 淘客网站怎么做啊wordpress屏蔽首页
  • 科普文章在那个网站做营销策划与运营培训