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

保定哪家做网站公司好北京seo关键词优化外包

保定哪家做网站公司好,北京seo关键词优化外包,网站规划建设与管理维护教学大纲,即时热榜目录 一:MyBatis的注解式开发 1. Insert注解 2. Delete注解 3. Update注解 4. Select注解 5. Results注解 一:MyBatis的注解式开发 MyBatis中也提供了注解式开发⽅式,采⽤注解可以减少Sql映射⽂件的配置。 当然,使⽤注…

目录

一:MyBatis的注解式开发

1.  @Insert注解

2.  @Delete注解

3.  @Update注解

4.  @Select注解

5.  @Results注解


一:MyBatis的注解式开发

MyBatis中也提供了注解式开发⽅式,采⽤注解可以减少Sql映射⽂件的配置。 当然,使⽤注解式开发的话,sql语句是写在java程序中的,这种⽅式也会给sql语句的维护带来成本。

官⽅是这么说的:

 使⽤注解编写复杂的SQL是这样的:

 原则:简单sql可以注解,复杂sql使⽤xml!使用注解式开发以后三兄弟之一的SqlMapper.xml文件就不需要了!

1.  @Insert注解

二兄弟之一CarMapper接口,用来编写方法

使用@Insert的注解方式,在注解上就可以写上SQL语句,对于SQL语句当中的变量就是pojo类Car对应的变量名

package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car;
import org.apache.ibatis.annotations.Insert;public interface CarMapper {// 使用注解式开发,插入数据@Insert("insert into t_car values(null,#{carNum},#{brand},#{guidePrice},#{produceTime},#{carType})")int insert(Car car);
}

二兄弟之二CarMapperTest,用来测试

package com.bjpowernode.mybatis.test;import com.bjpowernode.mybatis.mapper.CarMapper;
import com.bjpowernode.mybatis.pojo.Car;
import com.bjpowernode.mybatis.utils.SqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;public class CarMapperTest {@Testpublic void testInsert(){SqlSession sqlSession = SqlSessionUtil.openSession();CarMapper mapper = sqlSession.getMapper(CarMapper.class);// 创建Car对象Car car = new Car(null, "666", "丰田霸道", 32.0, "2023-1-9", "燃油车");int count = mapper.insert(car);System.out.println(count);sqlSession.commit();sqlSession.close();}
}

执行结果:

2.  @Delete注解

二兄弟之一CarMapper接口,用来编写方法

package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car;
import org.apache.ibatis.annotations.Insert;public interface CarMapper {// 使用注解式开发,删除数据@Delete("delete from t_car where id = #{id}")int deleteById(Long id);
}

二兄弟之二CarMapperTest,用来测试

package com.bjpowernode.mybatis.test;import com.bjpowernode.mybatis.mapper.CarMapper;
import com.bjpowernode.mybatis.pojo.Car;
import com.bjpowernode.mybatis.utils.SqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;public class CarMapperTest {@Testpublic void testDeleteById(){SqlSession sqlSession = SqlSessionUtil.openSession();CarMapper mapper = sqlSession.getMapper(CarMapper.class);int count = mapper.deleteById(40L);System.out.println(count);sqlSession.commit();sqlSession.close();}
}

执行结果:

3.  @Update注解

 二兄弟之一CarMapper接口,用来编写方法

package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car;
import org.apache.ibatis.annotations.Insert;public interface CarMapper {// 使用注解式开发,更新数据@Update("update t_car set car_num=#{carNum},brand=#{brand},guide_price=#{guidePrice},produce_time=#{produceTime},car_type=#{carType} where id = #{id}")int update(Car car);
}

二兄弟之二CarMapperTest,用来测试

package com.bjpowernode.mybatis.test;import com.bjpowernode.mybatis.mapper.CarMapper;
import com.bjpowernode.mybatis.pojo.Car;
import com.bjpowernode.mybatis.utils.SqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;public class CarMapperTest {@Testpublic void testUpdate(){SqlSession sqlSession = SqlSessionUtil.openSession();CarMapper mapper = sqlSession.getMapper(CarMapper.class);// 创建Car对象,根据id进行更新Car car = new Car(34L, "666", "丰田霸道", 32.0, "2023-1-9", "燃油车");int count = mapper.update(car);System.out.println(count);sqlSession.commit();sqlSession.close();}
}

执行结果:

4.  @Select注解

 二兄弟之一CarMapper接口,用来编写方法

package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car;
import org.apache.ibatis.annotations.Insert;public interface CarMapper {// 使用注解式开发,查询数据@Select("select * from t_car where id = #{id}")Car selectById(Long id);
}

二兄弟之二CarMapperTest,用来测试

package com.bjpowernode.mybatis.test;import com.bjpowernode.mybatis.mapper.CarMapper;
import com.bjpowernode.mybatis.pojo.Car;
import com.bjpowernode.mybatis.utils.SqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;public class CarMapperTest {@Testpublic void testSelectById(){SqlSession sqlSession = SqlSessionUtil.openSession();CarMapper mapper = sqlSession.getMapper(CarMapper.class);Car car = mapper.selectById(41L);System.out.println(car);sqlSession.close();}
}

执行结果:

5.  @Results注解

我们知道数据库表中的字段和pojo类的属性名有的是不一样的,我们之所以能够完整的查出数据,是因为在核心配置文件mybatis-config.xml当中配置了:启用驼峰命名⾃动映射

    <!--启⽤驼峰命名⾃动映射--><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings>

如果我们不启用,不对应的字段就是null,查询的数据如下:

那还有什么办法呢?还可以使用@Results注解!

注:从这里也能看出,使用注解的方式开发,对于简单点的SQL还行,对于稍微复杂的查询语句就太麻烦了!

package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car;
import org.apache.ibatis.annotations.*;public interface CarMapper {// 使用注解式开发,查询数据@Select("select * from t_car where id = #{id}")@Results({@Result(property = "id",column = "id"),@Result(property = "carNum",column = "car_num"),@Result(property = "brand",column = "brand"),@Result(property = "guidePrice",column = "guide_price"),@Result(property = "produceTime",column = "produce_time"),@Result(property = "carType",column = "car_type"),})Car selectById(Long id);
}

这样计算我们不启用驼峰命名⾃动映射,也能正常查询数据

结语:直到今天MyBatis的学习就完美撒花了,接下来就开始Spring的学习,敬请期待!

http://www.yayakq.cn/news/73625/

相关文章:

  • wordpress做小说网站为何上不了建设银行网站
  • 网站后台与前台做淘宝网店的运营流程
  • 学习网站建设有什么用山东酷雅展陈装饰有限公司
  • 景德镇网站建设景德镇微信小程序如何搭建
  • 网站建设英文合同珠海专业制作网站
  • 邢台网站定制网络推广平台网站推广
  • python django做的网站wordpress换域名
  • 师范街网站建设wordpress自适应手机修改
  • 英文网站怎么做301跳转太原做网站公司
  • 学习做网站难吗国外订房网站怎么和做
  • 网站做的好不好看什么树莓派做网站服务器
  • 58同城临沂网站建设无线网络管理平台
  • 做网站的工具怎么使用电商推广是什么意思
  • 高端网站建设的介绍wordpress 主题名称
  • 诸城网站价格做海报好的psd网站
  • 安徽省交通运输厅门户网站网站怎么做才能赚钱
  • 网站建设与维护怎么学网站设计规划报告
  • 张家界网站建设dcwork电商网站开发面临的技术问题
  • 外贸做的亚马逊网站是哪个好wordpress文章换行符
  • 算命 网站开发福利公众号
  • 网站名称备案凡科建站登录官网
  • 合肥网站外包沙田网站仿做
  • 关于网站开发的个人小结网站开发与管理专业的就业信息
  • 岑溪网站开发百度快照排名
  • 北京建外贸网站公司免费注册电子邮箱
  • 天津网站推广宣传辽宁省建设厅网站官网
  • 怎么套网站济南网站优化公司
  • seo视频网页入口网站推广招商加盟网站建设目的
  • 上传网站软件html成品网页免费模板下载
  • 免费的推广平台有哪些兰州快速seo整站优化招商