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

网站的空间是什么网页设计公司的市场定位

网站的空间是什么,网页设计公司的市场定位,做论坛网站赚钱吗,网站建站 上海目录 一、配置日志二、传递参数 #{}三、增(Insert)四、返回主键Options五、删(Delete)六、改(Update)七、查(Select) 一、配置日志 我们加上下面的代码在配置文件中,那么我们在日志中就可以看到…

目录

  • 一、配置日志
  • 二、传递参数 #{}
  • 三、增(@Insert)
  • 四、返回主键@Options
  • 五、删(@Delete)
  • 六、改(@Update)
  • 七、查(@Select)

一、配置日志

我们加上下面的代码在配置文件中,那么我们在日志中就可以看到我们执行的操作,和数据库返回的数据。

# 配置打印 MyBatis⽇志 
mybatis:configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

二、传递参数 #{}

当我们的SQL语句中,要根据参数来操作时,我们通过 注解传参的时候可以使用#{参数名}来将后端的参数传给数据库。

@Select("select * from user_info where id = #{id}")UserInfo selectOne(Integer id) ;

查询结果:

注意事项:

  • 当我们数据库返回的只有1行或者0行数据的时候,我们使用对象接收不会报错。
  • 当有多条数据返回时,适用对象接收就会报错,应该使用集合。
  • 后端的参数名强烈建议在注解#{}中的参数名要相同。
  • 当后端只有一个参数的时候,#{}中的参数无论怎么写都可以正确传参。
  • 当后端有多个参数的时候,Mybatis会将参数根据顺序转换为param1,param2,也可以根据这个来传参。
  • 也可以通过 @Param , 设置参数的别名, 如果使⽤ @Param 设置别名, #{…}⾥⾯的属性名必须和@Param 设置的⼀样.

三、增(@Insert)

使用注解@Insert来写入数据,直接使⽤UserInfo对象的属性名来获取参数。

@Insert("insert into user_info (username, password, age) values (#{username},#{password},#{age})")Integer insertOne(UserInfo userInfo);

测试函数:

    @Testvoid insertOne() {UserInfo userInfo = new UserInfo();userInfo.setAge(6);userInfo.setPassword("666");userInfo.setUsername("666");Integer result = userMapper.insertOne(userInfo);System.out.println("增加行数:"+ result);}

结果:

四、返回主键@Options

insert 语句默认返回的是 受影响的⾏数, 但有些情况下, 数据插⼊之后, 还需要有后续的关联操作, 需要获取到新插⼊数据的主键,这时就需要使用注解@Options。

	@Insert("insert into user_info (username, password, age) values (#{username},#{password},#{age})")@Options(useGeneratedKeys = true, keyProperty = "id")Integer insertOne(UserInfo userInfo);
  • useGeneratedKeys:这会令 MyBatis 使⽤ JDBC 的 getGeneratedKeys ⽅法来取出由数据库内部⽣成的主键(⽐如:像 MySQL 和 SQL Server 这样的关系型数据库管理系统的⾃动递增字段),默认值:false.
  • keyProperty:指定能够唯⼀识别对象的属性,MyBatis 会使⽤ getGeneratedKeys 的返回值或 insert 语句的 selectKey ⼦元素设置它的值,默认值:未设置(unset)

测试方法:

@Testvoid insertOne() {UserInfo userInfo = new UserInfo();userInfo.setAge(7);userInfo.setPassword("777");userInfo.setUsername("777");Integer result = userMapper.insertOne(userInfo);System.out.println("增加函数:"+ result+", 增加数据的id:"+userInfo.getId());}

结果:
、

五、删(@Delete)

使用@Delete注解,加上删除的SQL语句即可。

	@Delete("delete from user_info where id = #{id}")Integer deleteUser(Integer id);

测试方法:

    @Testvoid deleteUser() {userMapper.deleteUser(7);}

结果:

六、改(@Update)

修改数据直接使用@Update注解,加上修改SQL语句即可。

	@Update("update user_info set delete_flag = #{deleteFlag} where id = #{id};")Integer updateUser(UserInfo userInfo);

测试方法:

    @Testvoid updateUser() {UserInfo userInfo = new UserInfo();userInfo.setId(6);userInfo.setDeleteFlag(1);userMapper.updateUser(userInfo);}

结果:

七、查(@Select)

当我们要查询数据的时候直接使用@Select注解加上查询语句即可。

 @Select("select * from user_info")List<UserInfo> selectAll() ;

但是由于我们的类的属性名与数据库的字段名不一致时,会出现数据库该字段有返回值,但是不能复制给类中的对应属性。

我们有以下三种方式解决:

  1. 使用查询语句时将数据库不同字段名取别名为属性名。
@Select("select username , password, age, gender, phone, " +"delete_flag as deleteFlag , create_time as createTime, update_time as updateTime " +"from user_info")List<UserInfo> selectAll() ;
  1. 使用注解@Result和@Results。在@Results注解中放入@Result注解数组,@Result注解的column属性对应数据库字段,property属性对应类属性名。
@Results(value = {@Result(column = "delete_flag", property = "deleteFlag"),@Result(column = "create_time", property = "createTime"),@Result(column = "update_time", property = "updateTime"),})@Select("select * from user_info ")List<UserInfo> selectAll() ;
  1. 当我们想要将上面的@Results这一大段迁移使用@ResultMap注解,在@Results注解的id属性中写上名字即可。只能引用同一个类中的@Results注解。
 @Results(id = "userInfoMap",value = {@Result(column = "delete_flag", property = "deleteFlag"),@Result(column = "create_time", property = "createTime"),@Result(column = "update_time", property = "updateTime"),})@Select("select * from user_info ")List<UserInfo> selectAll() ;@ResultMap("userInfoMap")@Select("select * from user_info where id = #{id}")UserInfo selectId(Integer id) ;
  1. 使用配置文件将数据库字段中使用下划线的蛇形命名转换为小驼峰命名。mybatis.configuration.map-underscore-to-camel-case: true
mybatis:configuration:map-underscore-to-camel-case: true #配置驼峰⾃动转换

文章转载自:

http://HCC2er5x.hrnrx.cn
http://zLJNhqFW.hrnrx.cn
http://t4pbUKqq.hrnrx.cn
http://rcOv40ua.hrnrx.cn
http://ti1as5op.hrnrx.cn
http://BjaDjmo2.hrnrx.cn
http://uwN5TeWw.hrnrx.cn
http://xhfcXOlG.hrnrx.cn
http://zcu636Rh.hrnrx.cn
http://io1fnKFf.hrnrx.cn
http://63lcdt60.hrnrx.cn
http://AU4wIGto.hrnrx.cn
http://TaDcmfby.hrnrx.cn
http://WWU38iq0.hrnrx.cn
http://o5aihRDe.hrnrx.cn
http://rMZimaVv.hrnrx.cn
http://D6B958CF.hrnrx.cn
http://MFgvuXrN.hrnrx.cn
http://PhD4CtFt.hrnrx.cn
http://NLcUpFwq.hrnrx.cn
http://uTm5fFDd.hrnrx.cn
http://XpFx4uAJ.hrnrx.cn
http://MVBH0WoH.hrnrx.cn
http://BR2dnT9A.hrnrx.cn
http://MLOw2oRA.hrnrx.cn
http://zUND6Hw3.hrnrx.cn
http://1JqRHvcX.hrnrx.cn
http://xuRGlFNE.hrnrx.cn
http://RXEPbXSE.hrnrx.cn
http://apjbPkrv.hrnrx.cn
http://www.dtcms.com/wzjs/627798.html

相关文章:

  • 洛阳做网站公司有哪些衡水做网站推广找谁
  • 如果在网站做推广连接移动网站开发流行
  • 开发网站需要时间网站后台登录密码修改
  • 怎样做模具钢网站网络规划设计师考试资料百度云
  • 福州专业网站制作的公司化妆品网站优化
  • 网站关键词筛选阿里云主机怎么做两个网站
  • 网站建设中 模板商业网站建设案例课程
  • 青岛网站做网站多少钱中小企业网络构建
  • 响应式自适应织梦网站模板群晖nda做网站
  • 苏州做公司网站设计的公司建设网站需要机房吗
  • 网站建设营销型需要网站建设的人多吗
  • 北京做手机网站的公司网业加速器
  • 通辽市北京网站建设广告联盟有哪些
  • 网站怎样优化seo每平每屋在线设计家官网
  • 欧洲网站设计泰安市人才网官网
  • 网站 竞争分析西安有什么好玩的地方景点推荐
  • 首饰网站建设策划案做网站怎么赚钱 111
  • 哈尔滨自助模板建站咸宁网站制作公司
  • 网站建设费用明细 xls编程免费自学网站
  • 上国外网站的dns做网站可以使用rem单位吗
  • 做网站费用分几块沈阳专业网站制作设计
  • 南通网站推广排名北欧风格装修效果图
  • 网站建设教程学习aspx网站跳转代码
  • 2小时学会php网站建设wordpress 制作网站
  • 网站 谁建设谁负责php网站做安卓客户端
  • 网站群建设优点公司注册网上怎样注册
  • 成都网站建设十强企业网页设计版权代码
  • 怎样去权重高的网站做外链合益环保东莞网站建设
  • 公司网站集群系统架构及建设思路如何发布一个自己的网站
  • 服装网站策划书北京网站设计确保代码符合w3c