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

网站建设项目实训报告wordpress在线解析

网站建设项目实训报告,wordpress在线解析,wordpress 获取用户密码,小程序商城首页设计Mybatis#xff08;二#xff09;#xff1a;实现“增删改查”前言一、MyBatis的增删改查1、添加2、修改3、删除4、查询4.1 查询一个实体4.1 查询集合二、MyBatis获取参数值的两种方式#xff08;重点#xff09;1、单个字面量类型的参数2、多个字面量类型的参数3、map集合… Mybatis二实现“增删改查”前言一、MyBatis的增删改查1、添加2、修改3、删除4、查询4.1 查询一个实体4.1 查询集合二、MyBatis获取参数值的两种方式重点1、单个字面量类型的参数2、多个字面量类型的参数3、map集合类型的参数4、实体类类型的参数5、使用Param标识参数6、结论三、MyBatis的各种查询功能1、查询一个实体类对象2、查询一个list集合3、查询单个数据4、查询一条数据为map集合5、查询多条数据为map集合6、结论前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识有兴趣的小伙伴可以关注博主也许一个人独行可以走的很快但是一群人结伴而行才能走的更远 一、MyBatis的增删改查 1、添加 UserMapper接口 /***添加用户信息*/int insertUser();UserMapper.xml !--int insertUser();--insert idinsertUserinsert into t_user values(null,张三,123,23,女)/insert2、修改 UserMapper接口 /*** 修改用户信息*/void updateUser();UserMapper.xml !-- void updateUser();--update id updateUserupdate t_user set username 张三 where id 4/update3、删除 UserMapper接口 /*** 删除用户信息*/void deleteUser();UserMapper.xml !-- void deleteUser();--delete iddeleteUserdelete from t_user where id 5/delete4、查询 4.1 查询一个实体 UserMapper接口 /*** 查询用户信息*/User getUserId();UserMapper.xml!--User getUserById();--!--查询功能的标签必须设置resultType或resultMapresultType设置默认的映射关系resultMap设置自定义的映射关系--select idgetUserById resultTypecom.ir.mybaits.pojo.Userselect * from t_user where id 3/select 4.1 查询集合 UserMapper接口 /*** 查询用户信息*/ListUser getAllUser();UserMapper.xml !--ListUser getAllUser();--select idgetAllUser resultTypeUserselect * from t_user/select注意 ⭕ 查询的标签select必须设置属性resultType或resultMap用于设置实体类和数据库表的映射关系 ● resultType自动映射用于属性名和表中字段名一致的情况 ● resultMap自定义映射用于一对多或多对一或字段名和属性名不一致的情况 ⭕当查询的数据为多条时不能使用实体类作为返回值只能使用集合否则会抛出异常TooManyResultsException但是若查询的数据只有一条可以使用实体类或集合作为返回值 二、MyBatis获取参数值的两种方式重点 MyBatis获取参数值的两种方式${}和#{} ⭕${}的本质就是字符串拼接使用字符串拼接的方式拼接sql若为字符串类型或日期类型的字段进行赋值时需要手动加单引号 ⭕ #{}的本质就是占位符赋值但是#{}使用占位符赋值的方式拼接sql此时为字符串类型或日期类型的字段进行赋值时可以自动添加单引号 1、单个字面量类型的参数 ⭕ 若mapper接口中的方法参数为单个的字面量类型此时可以使用${}和#{}以任意的名称获取参数的值但是需要注意${}的单引号问题 ⭕ 代码演示 UserMapper /*** description:查询用户信息* author: Hey* date: 2022/7/3 16:53* param: [username]* return: com.ir.mybatis.pojo.User**/User getUserByUsername(String username);UserMapper.xml !--User getUserByUsername(String username);--select idgetUserByUsername resultTypeuser!--此时只注重传递过来的值{username}中的usernsme可以替换为任意字母结果都不会改变--!--select * from t_user where username ${username};--select * from t_user where username #{username};/selectUserMapperTest /*** description:* author: Hey* date: 2022/7/3 15:29* param: []* return: void**/Testpublic void getUserByUsername(){UserMapper userMapper SqlSessionUtils.getSqlSession().getMapper(UserMapper.class);System.out.println(userMapper.getUserByUsername(张三));}2、多个字面量类型的参数 ⭕ mapper接口方法的参数为多个时此时MyBatis会将这些参数放在一个map集合中以两种方式进行存储 以arg0,arg1…为键以参数为值以param1,param2…为键以参数为值 因此只需要通过${}和#{}访问map集合的键就可以获取相对应的 值但是需要注意${}的单引号问题。 ⭕ 代码演示 UserMapper /*** description:检查用户登录信息* author: Hey* date: 2022/7/3 15:46* param: [username, password]* return: com.ir.mybatis.pojo.User**/User checkLoginByParameter(String username,String password);UserMapper.xml !--User checkLoginByParameter(String username,String password);--select idcheckLoginByParameter resultTypeuserselect * from t_user where username#{arg0} and password#{arg1};/selectUserMapperTest /*** description:* author: Hey* date: 2022/7/3 15:30* param: []* return: void**/Testpublic void checkLoginByParam(){UserMapper userMapper SqlSessionUtils.getSqlSession().getMapper(UserMapper.class);User user userMapper.checkLoginByParameter(张三,123);System.out.println(user);}3、map集合类型的参数 ⭕ 若mapper接口中的方法需要的参数为多个时此时可以手动创建map集合将这些数据放在map中只需要通过${}和#{}访问map集合的键就可以获取相对应的值但是需要注意${}的单引号问题 ⭕ 代码演示 UserMapper /*** description:通过自定义Map来验证登录* author: Hey* date: 2022/7/3 15:45* param:* return:**/User checkLoginByMap(MapString, Object map);UserMapper.xml !--User checkLoginByMap(MapString, Object map);--select idcheckLoginByMap resultTypeuserselect * from t_user where username#{username} and password#{password};/selectUserMapperTest /*** description:测试通过自定义Map验证登录* author: Hey* date: 2022/7/3 15:55* param: []* return: void**/Testpublic void checkLoginByMap(){UserMapper userMapper SqlSessionUtils.getSqlSession().getMapper(UserMapper.class);MapString,Object map new HashMap();map.put(username,张三);map.put(password,123);User user userMapper.checkLoginByMap(map);System.out.println(user);}4、实体类类型的参数 ⭕ 若mapper接口中的方法参数为实体类对象时此时可以使用${}和#{}通过访问实体类对象中的属性名获取属性值但是需要注意${}的单引号问题 ⭕ 代码演示 UserMapper /*** description:添加用户* author: Hey * date: 2022/7/3 16:11* param: [user]* return: int**/Integer insertUser(User user);UserMapper.xml !--int insertUser(User user);--select idinsertUser insert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})/selectUserMapperTest /*** description:添加用户 * author: Hey* date: 2022/7/3 16:24* param: []* return: void**/Testpublic void insertUser(){UserMapper userMapper SqlSessionUtils.getSqlSession().getMapper(UserMapper.class);Integer result userMapper.insertUser(new User(null,喜羊羊,123456,18,男,123123qq.com));System.out.println(result);}5、使用Param标识参数 ⭕ 可以通过Param注解标识mapper接口中的方法参数此时会将这些参数放在map集合中以如下两种方式来取值访问 以Param注解的value属性值为键以参数为值以param1,param2…为键以参数为值 只需要通过${}和#{}访问map集合的键就可以获取相对应的值但是需要注意${}的单引号问题 ⭕ 代码演示 UserMapper /*** description:通过参数注解验证登录* author: Hey * date: 2022/7/3 16:59* param: [username, password]* return: com.ir.mybatis.pojo.User**/User checkLoginByParam(Param(username) String username, Param(password) String password);UserMapper.xml !--User checkLoginByParam(Param(username) String username, Param(password) String password);--select idcheckLoginByParam resultTypeUserselect * from t_user where username #{username} and password #{password}/selectUserMapperTest /*** description:通过注解方式验证登录* author: Hey* date: 2022/7/3 16:57* param: []* return: void**/Testpublic void testCheckLoginByParam(){SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);User user mapper.checkLoginByParam(admin, 123456);System.out.println(user);} 6、结论 将以上五种情况分为两类情况 ⭕ 情况一参数为实体类型 ⭕ 情况二参数都用Param来修饰 三、MyBatis的各种查询功能 1、查询一个实体类对象 SelectMapper /*** description:通过id查询用户* author: Hey* date: 2022/7/3 17:54* param: [id]* return: com.ir.mybatis.pojo.User**/User getUserById(Param(id) Integer id);SelectMapper.xml select idgetUserById resultTypeuserselect * from t_user where id #{id};/selectSelectMapperTest /*** description:通过id查询用户* author: Hey* date: 2022/7/3 17:58* param: []* return: void**/Testpublic void getUserById(){SelectMapper selectMapper SqlSessionUtils.getSqlSession().getMapper(SelectMapper.class);User user selectMapper.getUserById(3);System.out.println(user);}2、查询一个list集合 SelectMapper /*** description:获取多个用户* author: Hey* date: 2022/7/3 17:56* param: []* return: java.util.Listcom.ir.mybatis.pojo.User**/ListUser getAllUser();SelectMapper.xml select idgetAllUser resultTypeuserselect * from t_user;/selectSelectMapperTest /*** description:查询所有用户* author: Hey* date: 2022/7/3 18:00* param: []* return: void**/Testpublic void getAllUser(){SelectMapper selectMapper SqlSessionUtils.getSqlSession().getMapper(SelectMapper.class);ListUser list selectMapper.getAllUser();for (User user:list) {System.out.println(user);}}3、查询单个数据 在MyBatis中对于Java中常用的类型都设置了类型别名 AliasMapped Type_bytebyte_char (since 3.5.10)char_character (since 3.5.10)char_longlong_shortshort_intint_integerint_doubledouble_floatfloat_booleanbooleanstringStringbyteBytechar (since 3.5.10)Charactercharacter (since 3.5.10)CharacterlongLongshortShortintIntegerintegerIntegerdoubleDoublefloatFloatbooleanBooleandateDatedecimalBigDecimalbigdecimalBigDecimalbigintegerBigIntegerobjectObjectdate[]Date[]decimal[]BigDecimal[]bigdecimal[]BigDecimal[]biginteger[]BigInteger[]object[]Object[]mapMaphashmapHashMaplistListarraylistArrayListcollectionCollectioniteratorIteratorSelectMapper /*** description:查询用户信息的总记录数* author: Hey* date: 2022/7/3 20:40* param: []* return: java.lang.Integer**/Integer getCount();SelectMapper.xml select idgetCount resultTypeintselect count(1) from t_user;/selectSelectMapperTest /*** description:查询用户信息的总记录数* author: Hey * date: 2022/7/3 20:45* param: []* return: void**/Testpublic void getCount(){SelectMapper selectMapper SqlSessionUtils.getSqlSession().getMapper(SelectMapper.class);int result selectMapper.getCount();System.out.println(result);}4、查询一条数据为map集合 SelectMapper /*** description:根据id查询用户信息为一个map集合* author: Hey* date: 2022/7/3 20:59* param: [id]* return: java.util.Mapjava.lang.String,java.lang.Object**/MapString,Object getUserByIdToMap(ParamidInteger id);SelectMapper.xml select idgetUserByIdToMap resultTypemapselect * from t_user where id#{id} /selectSelectMapperTest /*** description:根据id查询用户信息为一个map集合* author: Hey* date: 2022/7/3 21:03* param: []* return: void**/Testpublic void getUserByIdToMap(){SelectMapper selectMapper SqlSessionUtils.getSqlSession().getMapper(SelectMapper.class);System.out.println(selectMapper.getUserByIdToMap(5));//{password123456, sex男, id5, age18, email123123qq.com, username喜羊羊}}5、查询多条数据为map集合 方式一 SelectMapper /*** description:查询所有用户信息为Map集合* * 将表中的数据以map集合的方式查询一条数据对应一个map* 若有多条数据就会产生多个map集合此时可以将这些map放在一个list集合中获取* * author: Hey* date: 2022/7/3 21:15* param: []* return: java.util.Listjava.util.Mapjava.lang.String,java.lang.Object**/ListMapString, Object getAllUserToMap(); SelectMapper.xml select idgetAllUserToMap resultTypemapselect * from t_user/selectSelectMapperTest /*** description:查询所有用户信息为Map集合* author: Hey* date: 2022/7/3 21:17* param: []* return: void**/ Testpublic void testGetAllUserToMap(){SqlSession sqlSession SqlSessionUtils.getSqlSession();SelectMapper mapper sqlSession.getMapper(SelectMapper.class);System.out.println(mapper.getAllUserToMap());/*** [{password123, sex女, id1, age23, email12345qq.com, username张三},* {password123456, sex男, id2, age18, email123123qq.com, username喜羊羊}]*/}方式二 SelectMapper /*** description:查询所有用户信息为Map集合* * 将表中的数据以map集合的方式查询一条数据对应一个map* 若有多条数据就会产生个map集合并且最终要以一个map的方式返回数据此时需要通过MapKey注解设置map集合的键值是每条数据所对应的map集合* * author: Hey* date: 2022/7/3 21:15* param: []* return: java.util.Listjava.util.Mapjava.lang.String,java.lang.Object**/MapKey(id)MapString, Object getAllUserToMap(); SelectMapper.xml select idgetAllUserToMap resultTypemapselect * from t_user/selectSelectMapperTest /*** description:查询所有用户信息为Map集合* author: Hey* date: 2022/7/3 21:17* param: []* return: void**/Testpublic void testGetAllUserToMap(){SqlSession sqlSession SqlSessionUtils.getSqlSession();SelectMapper mapper sqlSession.getMapper(SelectMapper.class);System.out.println(mapper.getAllUserToMap());/*** {* 1{password123, sex女, id1, age23, email12345qq.com, username张三}, * 2{password123456, sex男, id2, age18, email123123qq.com, username喜羊羊}* }*/}6、结论 MyBatis的各种查询功能 ⭕ 若查询出的数据只有一条 ● 可以通过实体类对象接收 ● 可以通过list集合接收 ● 可以通过map集合接收 结果 {password123456, sex男, id3, age23, email12345qq.com, usernameadmin} ⭕ 若查询出的数据有多条 ● 可以通过实体类类型的list集合接收 ● 可以通过map类型的list集合接收 ●可以在mapper接口的方法上添加MapKey注解此时就可以将每条数据转换的map集合作为值以某个字段的值作为键放在同一个map集合中 ⭕ 注意一定不能通过实体类对象接收此时会抛异常TooManyResultsException
http://www.hkea.cn/news/14307652/

相关文章:

  • 潍坊建设gc局网站网站推广描述
  • 花都网站建设设计微分销系统定制开发
  • 网站底部版权怎么做主流软件开发平台
  • 淘宝网站建设基本流程充电宝网站建设策划书
  • 微信网站网址口碑营销方案
  • 广告行业网站建设方案wordpress 模版安装
  • dw怎么切片做网站网站建设的注意事项
  • 江西省建设工程安全质量监督管理局网站长沙网站备案
  • 做单页网站盈利案例媒体代发网站
  • 网站布局英文在线做h5 的网站
  • 市场网站建设html论坛模板
  • seo网站优化服务合同东莞公司的网页怎么做的
  • 常州网站建设价格如何建立淘宝客网站
  • 花生壳可以用来做网站吗软件工程最好的培训机构
  • 陕西省建设部官方网站广州市番禺区官网
  • 贷款织梦网站模版深圳画册公司
  • vs2015做网站个人网站建设方法
  • 漯河做网站推广wordpress文章上作者
  • 推广优化网站九龙坡网站建设公司
  • 那些网站是做生鲜的做网站投诉要钱吗
  • 做百度手机网站优专业的深圳网站设计
  • 群晖个人网站建设WordPress文章发布模块
  • 做网站需要的条件深圳营销网站建设模板
  • 临海网站开发公司网站建设好多钱
  • 服务器网站搭建教程网站没有收录
  • 杭州网站设计建设wps怎么做网页
  • 中国建设教育协会的网站如何给自己做的网站加上域名
  • 中职 网站建设与管理什么是网站ui设计
  • 网站备案可以自己备案吗翻书效果的网站
  • 个人做旅游网站的意义网站模版调用标签教程