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

成都 网站建设培训360站长平台链接提交

成都 网站建设培训,360站长平台链接提交,seo教学网站,网站建设免费模板下载学习的最大理由是想摆脱平庸#xff0c;早一天就多一份人生的精彩#xff1b;迟一天就多一天平庸的困扰。各位小伙伴#xff0c;如果您#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持#xff0c;想组团高效学习… 想写博客但无从下手#xff0c;急需… 学习的最大理由是想摆脱平庸早一天就多一份人生的精彩迟一天就多一天平庸的困扰。各位小伙伴如果您 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持想组团高效学习… 想写博客但无从下手急需写作干货注入能量… 热爱写作愿意让自己成为更好的人… 文章目录 前言一、核心配置文件详解二、默认的类型别名三、MyBatis的增删改查四、MyBatis获取参数值的两种方式1、单个字面量类型的参数2、多个字面量类型的参数3、map集合类型的参数4、实体类类型的参数5、使用Param标识参数 总结 前言 一、核心配置文件详解 二、默认的类型别名 三、MyBatis的增删改查 四、MyBatis获取参数值的两种方式 1、单个字面量类型的参数 2、多个字面量类型的参数 3、map集合类型的参数 4、实体类类型的参数 5、使用Param标识参数 一、核心配置文件详解 核心配置文件中的标签必须按照固定的顺序(有的标签可以不写但顺序一定不能乱) properties、settings、typeAliases、typeHandlers、objectFactory、objectWrapperFactory、reflectorFactory、plugins、environments、databaseIdProvider、mappers ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//MyBatis.org//DTD Config 3.0//ENhttp://MyBatis.org/dtd/MyBatis-3-config.dtd configuration!--引入properties文件此时就可以${属性名}的方式访问属性值--properties resourcejdbc.properties/propertiessettings!--将表中字段的下划线自动转换为驼峰--setting namemapUnderscoreToCamelCase valuetrue/!--开启延迟加载--setting namelazyLoadingEnabled valuetrue//settingstypeAliases!--typeAlias设置某个具体的类型的别名属性type需要设置别名的类型的全类名alias设置此类型的别名且别名不区分大小写。若不设置此属性该类型拥有默认的别名即类名--!--typeAlias typecom.atguigu.mybatis.bean.User/typeAlias--!--typeAlias typecom.atguigu.mybatis.bean.User aliasuser/typeAlias--!--以包为单位设置改包下所有的类型都拥有默认的别名即类名且不区分大小写--package namecom.atguigu.mybatis.bean//typeAliases!--environments设置多个连接数据库的环境属性default设置默认使用的环境的id--environments defaultmysql_test!--environment设置具体的连接数据库的环境信息属性id设置环境的唯一标识可通过environments标签中的default设置某一个环境的id表示默认使用的环境--environment idmysql_test!--transactionManager设置事务管理方式属性type设置事务管理方式typeJDBC|MANAGEDtypeJDBC设置当前环境的事务管理都必须手动处理typeMANAGED设置事务被管理例如spring中的AOP--transactionManager typeJDBC/!--dataSource设置数据源属性type设置数据源的类型typePOOLED|UNPOOLED|JNDItypePOOLED使用数据库连接池即会将创建的连接进行缓存下次使用可以从缓存中直接获取不需要重新创建typeUNPOOLED不使用数据库连接池即每次使用连接都需要重新创建typeJNDI调用上下文中的数据源--dataSource typePOOLED!--设置驱动类的全类名--property namedriver value${jdbc.driver}/!--设置连接数据库的连接地址--property nameurl value${jdbc.url}/!--设置连接数据库的用户名--property nameusername value${jdbc.username}/!--设置连接数据库的密码--property namepassword value${jdbc.password}//dataSource/environment/environments!--引入映射文件--mappers!-- mapper resourceUserMapper.xml/ --!--以包为单位将包下所有的映射文件引入核心配置文件注意1. 此方式必须保证mapper接口和mapper映射文件必须在相同的包下2. mapper接口要和mapper映射文件的名字一致--package namecom.atguigu.mybatis.mapper//mappers /configuration二、默认的类型别名 三、MyBatis的增删改查 添加!--int insertUser();-- insert idinsertUserinsert into t_user values(null,admin,123456,23,男,12345qq.com) /insert删除!--int deleteUser();-- delete iddeleteUserdelete from t_user where id 6 /delete修改!--int updateUser();-- update idupdateUserupdate t_user set username 张三 where id 5 /update查询一个实体类对象!--User getUserById();-- select idgetUserById resultTypecom.atguigu.mybatis.bean.User select * from t_user where id 2 /select查询集合!--ListUser getUserList();-- select idgetUserList resultTypecom.atguigu.mybatis.bean.Userselect * from t_user /select注意 查询的标签select必须设置属性resultType或resultMap用于设置实体类和数据库表的映射关系 resultType自动映射用于属性名和表中字段名一致的情况resultMap自定义映射用于一对多或多对一或字段名和属性名不一致的情况 当查询的数据为多条时不能使用实体类作为返回值只能使用集合否则会抛出异常TooManyResultsException但是若查询的数据只有一条可以使用实体类或集合作为返回值 四、MyBatis获取参数值的两种方式 MyBatis获取参数值的两种方式${}和#{}${}的本质就是字符串拼接#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql若为字符串类型或日期类型的字段进行赋值时需要手动加单引号但是#{}使用占位符赋值的方式拼接sql此时为字符串类型或日期类型的字段进行赋值时可以自动添加单引号 1、单个字面量类型的参数 若mapper接口中的方法参数为单个的字面量类型此时可以使用${}和#{}以任意的名称最好见名识意获取参数的值注意${}需要手动加单引号 !--User getUserByUsername(String username);-- select idgetUserByUsername resultTypeUserselect * from t_user where username #{username} /select!--User getUserByUsername(String username);-- select idgetUserByUsername resultTypeUser select * from t_user where username ${username} /select2、多个字面量类型的参数 若mapper接口中的方法参数为多个时此时MyBatis会自动将这些参数放在一个map集合中 以arg0,arg1…为键以参数为值以param1,param2…为键以参数为值 因此只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号。使用arg或者param都行要注意的是arg是从arg0开始的param是从param1开始的 !--User checkLogin(String username,String password);-- select idcheckLogin resultTypeUser select * from t_user where username #{arg0} and password #{arg1} /select!--User checkLogin(String username,String password);-- select idcheckLogin resultTypeUserselect * from t_user where username ${param1} and password ${param2} /select3、map集合类型的参数 若mapper接口中的方法需要的参数为多个时此时可以手动创建map集合将这些数据放在map中只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号 !--User checkLoginByMap(MapString,Object map);-- select idcheckLoginByMap resultTypeUserselect * from t_user where username #{username} and password #{password} /selectTest public void checkLoginByMap() {SqlSession sqlSession SqlSessionUtils.getSqlSession();ParameterMapper mapper sqlSession.getMapper(ParameterMapper.class);MapString,Object map new HashMap();map.put(usermane,admin);map.put(password,123456);User user mapper.checkLoginByMap(map);System.out.println(user); }4、实体类类型的参数 若mapper接口中的方法参数为实体类对象时此时可以使用${}和#{}通过访问实体类对象中的属性名获取属性值注意${}需要手动加单引号 !--int insertUser(User user);-- insert idinsertUserinsert into t_user values(null,#{username},#{password},#{age},#{sex},#{email}) /insertTest public void insertUser() { SqlSession sqlSession SqlSessionUtils.getSqlSession();ParameterMapper mapper sqlSession.getMapper(ParameterMapper.class);User user new User(null,Tom,123456,12,男,123321.com);mapper.insertUser(user); }5、使用Param标识参数 可以通过Param注解标识mapper接口中的方法参数此时会将这些参数放在map集合中 以Param注解的value属性值为键以参数为值以param1,param2…为键以参数为值 只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号 !--User CheckLoginByParam(Param(username) String username, Param(password) String password);--select idCheckLoginByParam resultTypeUserselect * from t_user where username #{username} and password #{password}/selectTest public void checkLoginByParam() {SqlSession sqlSession SqlSessionUtils.getSqlSession();ParameterMapper mapper sqlSession.getMapper(ParameterMapper.class);mapper.CheckLoginByParam(admin,123456); }建议分成两种情况进行处理 实体类类型的参数使用Param标识参数 总结 以上就是Mybatis之核心配置文件详解、默认类型别名、Mybatis获取参数值的两种方式的相关知识点希望对你有所帮助。 积跬步以至千里积怠惰以至深渊。时代在这跟着你一起努力哦
http://www.pierceye.com/news/434172/

相关文章:

  • 软件开发与网站开发硬件开发语言
  • 开封做网站睿艺美官方网站建设的必要
  • 自适应网站制作简创网络南联网站建设
  • 帮别人做钓鱼网站犯法吗贵州网站建设工作室
  • 企业网站域名空间优化公司治理结构
  • 网站建设 前沿文章php做网站脑图
  • 刷单网站开发装修企业网站源码
  • 莱州人社局网站网站开发项目资金运用明细
  • 水墨网站模板软通动力外包怎么样
  • 直播间网站建设小清新wordpress主题
  • 淘金网站建设推广汽车 营销 网站建设
  • 网站站内链接seo外链发布工具
  • 如何设计大型电商网站建设利用php做网站
  • 大朗网站仿做google广告
  • 跳转网站代码wordpress文章只能会员才能看
  • 大鹏网络网站建设报价vps的网站打不开
  • 西部数码网站管理助手卸载修改网站空间服务器密码
  • asp网站开发技术总结与收获建设银行网站怎么登录密码忘了怎么办
  • 营销型企业网站 网络服务flashfxp 网站
  • 青岛网站建设服务平台邢台专业网站建设费用
  • wordpress做网站好吗戴南做网站
  • 中山精品网站建设价位网站开发后台一般用什么
  • 万网 手机网站物联网平台介绍
  • 墨星写作网站网站建设使用的什么语言
  • wdcp网站搬家wordpress 改成宽屏
  • 汽车网站建设规划书洛阳恢复客运最新通知
  • 商洛建设网站有了网站源码可以做网站吗
  • 网站运营学习电子商务网站建设与管理的实验报告
  • 上海设计网站与太原免费网络推广哪里朿
  • 网站前端建设需要学会什么珠海网站优化公司