Maven和Mybatis简答题(面试题)

目录

 

ResultMap和ResultType的差别?

mybatis中#和$的区别?

JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

常用的的动态sql语句标签有哪些?

分页插件pagehelper如何使用?

当实体类的属性名和表中的字段名不一致怎么办?有几种解决办法?

什么是maven本地仓库?Maven到底有哪些仓库?他们什么关系?

Maven的生命周期命令有哪些?

maven项目中servlet和jsp的依赖范围是哪个?它有什么作用?

Maven坐标是哪三个要素?


ResultMap和ResultType的差别?

两者都是表示查询结果集与java对象之间的一种关系,处理查询结果集映射到java对象。

resultMap:表示将查询结果集中的列一一映射到bean对象的各个属性。

ResultType:表示的是bean中的对象类,此时可以省略掉resultMap标签的映射,但是必须保证查询结果集中的属性 和 bean对象类中的属性是一一对应的,此时大小写不敏感,但是有限制。

mybatis中#和$的区别?

#{}:占位符号,好处防止sql注入

${}:sql拼接符号

#方式能够很大程度防止sql注入,$方式无法防止sql注入。

$方式一般用于传入数据库对象,例如传入表名

一般能用#的就别用$

JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

1.数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。

解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。

2.Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。

解决:将Sql语句配置在XXXXmapper.xml文件中与java代码分离。

3.向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。

解决:Mybatis自动将java对象映射至sql语句。

4.对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。

解决:Mybatis自动将sql执行结果映射至java对象。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值