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

公司内部网站的作用/网站收录

公司内部网站的作用,网站收录,网络平台设计开发,中国已封城市名单现在思考一个问题 假如我的GoodsInfo.java实体类里边的属性,跟数据库表里的属性 名字不一致会怎样? 现在我把实体类的属性名字 修改一下,变成 一旦这个实体类属性名字和数据库表里的属性名字不一致,你觉得我再继续封装,能把这个值…

现在思考一个问题

假如我的GoodsInfo.java实体类里边的属性,跟数据库表里的属性 名字不一致会怎样?
1175089-20171006220437083-166347669.png

1175089-20171006220543177-675773147.png

现在我把实体类的属性名字 修改一下,变成

1175089-20171006220841240-88150318.png

一旦这个实体类属性名字和数据库表里的属性名字不一致,你觉得我再继续封装,能把这个值封装到对象里吗?


老套路第1步
/Mybatis02/src/com/chen/dao/GoodsDao2.javal

//查询所有   (查询所有不需要参数)public List<GoodsInfo>  selAll();

老套路第2步
/Mybatis02/config/mappers/GoodsInfoMapper.xml

<select id="selAll" resultType="com.chen.GoodsInfo">select * from goods </select>

resultType="com.chen.GoodsInfo" 。但是,GoodsInfo对象 的属性 名字已经全改了。还能起作用吗? 那么现在测试一下。

老套路第3步
/Mybatis02/src/test/Start2.java


public class Start2 {public static void main(String[] args) throws IOException {String resource = "mybatis-conf.xml";InputStream  inputStream = Resources.getResourceAsStream(resource);//创建SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//true表示自动提交。否则需要使用commit方法才会提交。默认是falseSqlSession session = sqlSessionFactory.openSession();//拿到接口的代理对象GoodsDao2 dao=session.getMapper(GoodsDao2.class);List<GoodsInfo> list =dao.selAll();System.out.println(list.size());//如果上面不设置自动提交表单,那么就需要commit方法session.commit();}}

点击运行
1175089-20171006223311552-1312266081.png

居然查到了有73条数据, 好奇怪,为什么不会报错呢?

但是我们现在打印一下这个数据

1175089-20171006223558990-564478855.png

居然出现了73个空对象
系统它是知道你有73条数据,但是它们没有封装上
是什么原因导致它没有被封装上? 答案无疑是:实体类的属性名称不一致

解决办法有2种

第1种方式--取别名

套路第二步改为
/Mybatis02/config/mappers/GoodsInfoMapper.xml

<select id="selAll" resultType="com.chen.GoodsInfo">select id e_id,name e_name from goods </select>

点击运行便可看到结果出来了

第2钟方式---用resultMap ( 也就是我们今天的主题)

现在不用resultType了 ,因为这和我实体类的属性名已经对不上了,它不能帮你完成自动封装。这时需要手动方式设置封装方式。那么现在改用用resultMap
那么怎么来配置这resultMap属性?

老套路第1步
/Mybatis02/src/com/chen/dao/GoodsDao2.java

public List<GoodsInfo> selAll2();

老套路第2步
/Mybatis02/config/mappers/GoodsInfoMapper.xml

<!-- type一定要对应实体类id就是给当前配置的封装格式起一个唯一标识  --><resultMap type="com.chen.GoodsInfo" id="abc"><!-- 下面这个id标签表示配置逐渐的封装格式 --><id column="ID" property="e_id" /><result column="name" property="e_name" /></resultMap><!-- 当你使用resultMap的时候一定要跟你配置的resultMap标签的id一致。而且使用resultType就不能使用resultMap,既有它没我 --><select id="selAll2"  resultMap="abc">select * from goods </select>

老套路第3步
/Mybatis02/src/test/Start2.java


public class Start2 {public static void main(String[] args) throws IOException {String resource = "mybatis-conf.xml";InputStream  inputStream = Resources.getResourceAsStream(resource);//创建SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//true表示自动提交。否则需要使用commit方法才会提交。默认是falseSqlSession session = sqlSessionFactory.openSession();//拿到接口的代理对象GoodsDao2 dao=session.getMapper(GoodsDao2.class);List<GoodsInfo> list = dao.selAll2();System.out.println(list);//如果上面不设置自动提交表单,那么就需要commit方法session.commit();}}

点击运行,成功显示出数据

转载于:https://www.cnblogs.com/czy16/p/7633375.html

http://www.jmfq.cn/news/5007097.html

相关文章:

  • 武汉做网站优化公司/外贸网站优化公司
  • 专业做食材网站/域名交易平台
  • 麻涌镇网站仿做/新开发的app怎么推广
  • 做电影售票网站的难点/游戏推广代理app
  • 网站开发后端菜鸟教程/iis7站长工具
  • 做搜狗pc网站优化快速/合肥关键词排名
  • 全球外贸网站排名/seo营销外包
  • 有学做美食的网站吗/域名申请
  • 哈尔滨中企动力科技股份有限公司/阜平网站seo
  • 为什么网站经常被攻击/广州今天新闻
  • 深圳网站建设类公司/seo全网图文推广
  • 深圳有做公司网站/怎么在百度上发布自己的信息
  • 自己网站做seo/百度客服人工电话
  • 四川专业网站建设/googleplay
  • 有人做网站花了10几万/seo优化的常用手法
  • dnf做任务解除制裁网站/视频号广告推广
  • 个人物流网站建设方案/大数据分析网站
  • 龙华建设网站/网站怎么接广告
  • 汕头制作企业网站/网站推广120种方法
  • 太原做响应式网站设计/电商代运营公司100强
  • 网站建设流程报价/免费发广告的平台有哪些
  • 网站建设教程搭建湖南岚鸿/网页设计代码
  • 自己做的网站如何管理/企业培训体系搭建
  • 网站建设微信托管/抖音seo是什么
  • 综合性门户网站有/淄博网站seo
  • 团购网站建立/免备案域名
  • 企业网站需要备案吗/云计算培训费用多少钱
  • 阳江招聘网站哪个靠谱/营销传播
  • 万荣做网站/百度竞价广告收费标准
  • 为什么wordpress打不开/整站优化方案