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

重庆企业网站定制开发公司重庆城乡建设子网站

重庆企业网站定制开发公司,重庆城乡建设子网站,仿站参考网站,asp商品网站源码文章目录 一、MybatisPlus1、ORM2、添加依赖3、全局配置4、Navicat5、UserController6、CRUD操作7、BaseMapper8、两个注解 二、多表查询1、模拟用户订单2、通过用户查相关订单3、UserMapperNew4、查询订单和所属用户5、OrderMapper6、OrderController 三、条件查询四、分页查询… 文章目录 一、MybatisPlus1、ORM2、添加依赖3、全局配置4、Navicat5、UserController6、CRUD操作7、BaseMapper8、两个注解 二、多表查询1、模拟用户订单2、通过用户查相关订单3、UserMapperNew4、查询订单和所属用户5、OrderMapper6、OrderController 三、条件查询四、分页查询 一、MybatisPlus 1、ORM Object Relational Mapping对象关系映射为了解决面向对象与关系数据库存在的互不匹配的一种技术 ORM框架本质是简化编程中操作数据库的编码 2、添加依赖 !-- MyBatisPlus依赖--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.2/version/dependency !-- mysql驱动依赖--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.32/version/dependency !-- 数据连接池druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.23/version/dependency3、全局配置 在application.properties中添加配置 server.port80 spring.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3307/demo2?useSSLfalse spring.datasource.usernameroot spring.datasource.password123456 mybatis-plus.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl由于我PC有两个数据库版本的存在所以这里使用3307端口不产生冲突数据库的名称为demo2账号密码默认 在启动项也就是项目名Application中添加MapperScan注解这里是新建的mapper包如果不好找路径那么鼠标右键点击包选择Copy Path/Reference...复制路径 4、Navicat 在navicat里面把表建好然后选择id主键自增 5、UserController 这里模拟查询用户 之前的实体类User继续使用 编写UserMapper接口 编写UserController并且声明UserMapper对象写上AutoWired注解表示注入这样我们可以直接使用UserMapper中的方法 浏览器测试一下 如果查询不到报错检查数据库是否正常连接 也可以在控制台日志看到结果 6、CRUD操作 同理有查就少不了指定id查、增删改 查询指定用户 UserController UserMapper 增删改UserController 增删改UserMapper 打开ApiPost测试一下 这里id是8虽然是自增因为我之前测试过几条我们可以再加一条 可以看到表更新了 如果表中的username是说明是编码的问题在navicat中设置utf-8字符集还没用的话继续在application.properties中的url后多加点规则 spring.datasource.urljdbc:mysql://localhost:3307/demo2?useSSLfalseuseUnicodetruecharacterEncodingutf-8如果出现Data truncated for column id at row 1问题①检查实体类参数类型是否和数据库表中匹配 ②将数据库表的int范围调高 ③看看是不是id默认在表里面排最后了把id上移到第一条和mapper中语句参数对应 7、BaseMapper 白学时刻以上都是我们在mybatis中用到的而mybatisPlus提供了BaseMapper接口 新建UserMapperNew接口 修改UserController类可以发现userMapperNew里面就自带了很多方法可以ctrl左键点进去详情查看 ListUser list userMapperNew.selectList(null);重新测试一下 剩下方法类似 8、两个注解 TableName注解说明了对应哪一张表应对实体类和表不一致 TableId主键自增在控制台打印日志时看到对应的id之前会显示0 二、多表查询 实现复杂关系映射可以使用Results、Result、One、Many注解组合完成复杂关系的配置 1、模拟用户订单 navicat 新建订单order表uid表示所属哪个用户订单 2、通过用户查相关订单 在User类里添加代码其实orders这个东西是不在user表里的所以这样打上注解并且添加getter和setter方法只是为了实现多表查询 在UserMapperNew中定义查找用户和订单的接口 在UsrController中调用 浏览器访问发现orders为空因为本来user表中就没有orders 3、UserMapperNew 利用Results、Result和Many注解 //查询用户及其所有的订单Select(select * from user)Results({Result(column id,property id),Result(column username,property username),Result(column password,property password),Result(column birthday,property birthday),Result(column id,property orders,javaType List.class,manyMany(select com.example.demo.mapper.OrderMapper.selectByUid))})ListUser selectAllUserAndOrders();这里是将结果集对应起来然后利用user表中的id去映射orders说明orders的参数类型Listmany表示一对多的关系UserMapperNew去使用OrderMapper中的方法使得user表的id能够作为order表的uid去执行sql语句 刚开始我报错说是语法问题检查后无误又将包全部导入一遍还是爆500错误发现可能是关键字冲突将order表的名字改为t_order后成功运行 4、查询订单和所属用户 同理在Order实体类加上注解说明user参数并不存在 TableField(exist false)private User user;5、OrderMapper // 查询所有的订单同时查询订单所属的用户Select(select * from t_order)Results({Result(column id,property id),Result(column orderTime,property orderTime),Result(column money,property money),Result(column uid,property uid),Result(column uid,property user,javaType User.class,oneOne(select com.example.demo.mapper.UserMapperNew.selectById))})ListOrder selectAllOrdersAndUser();这里是一个订单只对应一个用户所以是One注解利用订单的uid对应找出user表中的用户 6、OrderController 新建OrderController控制器运行 RestController public class OrderController {AutowiredOrderMapper orderMapper;GetMapping(/order/findAll)public ListOrder find(){return orderMapper.selectAllOrdersAndUser();} }可以看到三个订单以及所属的用户都被查询出来了 三、条件查询 前面说过MybatisPlus对单表查询增强了我们可以不用自己写sql语句这里采用QueryWrapper UserController表示我们只想找到关于火男的信息 // 条件查询GetMapping(/user/find)public ListUser findByCondition(){QueryWrapperUser queryWrapper new QueryWrapper();queryWrapper.eq(username,火男);return userMapperNew.selectList(queryWrapper);}四、分页查询 UserController // 分页查询GetMapping(/user/findByPage)public IPage findByPage(){ // 设置起始值和每页条数PageUser page new Page(0, 2);IPage iPage userMapperNew.selectPage(page,null);return iPage;}可以在mybatis-plus官网查看page使用方法 edge运行结果默认返回JSON格式如果其他的浏览器可以用F12查看具体参数
http://www.pierceye.com/news/926430/

相关文章:

  • 网站地图怎么做html公司文化的建设对个人的意义
  • html网站模板免费下载台州网站制作 外贸
  • 有关建筑网站建设方案案例平台网站建设哪家有
  • 网站域名跳转是怎么做的空间一个数据库可以做几个网站
  • asp网站幻灯片不显示微商刚起步怎么找客源
  • 婚恋网站翻译可以做吗科技局网站建设方案
  • 长沙哪里学网站建设德阳做网站的公司
  • 制作短链接网站做抽奖网站违法吗
  • 网站备案每年审吗做网站做推广
  • 网站名称 规则个人网页模板背景
  • 网站制作方案策划简历网站建设咨询有客诚信网站建设咨询
  • 格尔木市住房和城乡建设局网站能看全景的地图软件
  • 一站式网站建设与运营wordpress后台代码修改
  • 企业品牌类网站有哪些做网站建设的公司是什么类型
  • 自己制作的网站怎么做分页2022建站市场
  • 网贷审核网站怎么做wordpress 文章列表页
  • 搬家网站建设公司西安是哪个省市
  • php 网站 整合 数据库智能建站系统个人网站
  • 福田区罗湖区宝安区龙华区seo上首页排名
  • 网站建设业务员提成企业网站 需求
  • 做淘宝客网站 首选霍常亮国外网页设计
  • 天津小型企业网站设计方案网页升级访问每天自动更新 下载
  • 好的学习网站打广告壹搜网站建设优化排名
  • 响应式设计 手机网站手机自己制作app软件
  • 东方头条网站源码杭州正晖建设工程有限公司网站
  • 阿里巴巴网站建设与维护深圳民治网站建设
  • 郑州短视频代运营seo外链是什么
  • 网站建设公司 经营资质wordpress文学
  • 手机网站建设请示常州建设网站公司哪家好
  • 网站开发报价ppt重庆沙坪坝有哪些大学