8、web.xml中的标签有那些
7、10W条数据插入数据库的注意事项
6、单例模式的应用场景、实际开发中应注意的问题
网站计数器、系统配置信息、日志系统、数据库连接池、多线程线程池
5、spring的注入注解都有那些
@autowired 根据类型自动注入类 如果要按name注入则需要用qualifier
@qulifier('com.test.xxx') 按id注入类 @qualifier('xxxservice')按service的命名@service('xxxservice'),
@resource(name="",type="") 可以按type、也可以按name注入类
@repository 用于dao层
@service用于service层
@controller用于controller层
@component 可用于以上任何一层,components与以上三个注解没有太大区别
scope('prototype')
component 注入bean对象
4、mysql复合索引及索引机制
索引机制是对数据库的一种查询方式,一个数据结构。将索引内的列的内容生成一种数据结构,比如二叉树等,
这些数据结构以某种方式指向数据,当有查询的时候就可以在此数据结构上查找,使查询速度更快。
索引包括:主键索引,外键索引,单一索引,复合索引,
优点:查询更快
缺点:每次增加修改数据都会修改索引导致数据变动时间增加,
以下情况不适合建立索引:
1、很少使用或者很少参考的列
2、数值很少的列
3、字段格式为text、image、bit
4、修改性能大于检索性能的情况
有些情况不会触发索引
1、sql中有函数表达式
2、查询的列与索引的列顺序不一致
3、使用like、<>、!=
3、mybatis动态拼接
这个所谓的动态拼接其实就是mapper.xml中那些条件标签,不要晕,标签说一下就好了
<when test=''> <if test=''> <set> <choose> <forEach item='' index='' open='' seperator='' close=''> <trim prefix='' prefixOverrides=''>
2、mybatis里面的常用标签
<select> <insert> <update> <delete> <resultMap> <sql id=''> <include refid='sqlid'> <association property='' javatype=''>
<collection propery='' ofType=''> <set> <where> <if>
select * from table
<where>
<if test=' a!=b'>and column = #{columnName,jdbcType=VARCHAR}</if>
</where>
1、mybatis和hibernate的区别
相同点:两者都是orm框架,封装了持久层的操作,使操作数据库更加方便快捷
不同点:
1、 mybatis不能生成sql,只能简单组装sql语句,通过调用接口执行sql完成数据库操作,
hibernate对底层封装的更加完善,sql可以自动生成,只需调用sqlsessionfactory就可以执行数据库的增删改查
2、 hibernate的对象和数据库表一一对应,且可以实现丰富的组合聚合的关系,只需简单配置就可以完成
mybatis的对象和sql对应,定义不同的方法以实现不同的sql语句
3、 hibernate由于封装的过于完善,和自身的hql使其只能操作简单的sql操作,
mybatis是通过xml调用sql来处理数据库,可以写比较复杂的sql具有更高的自由性,动态的拼接sql