发表于: 2018-03-04 23:24:58

1 639


今天做的事情:


            1. Mybatis中$和#的区别: #可以进行与编译,进行类型匹配,而$不进行数据类型匹配。防止sql注入要用#,用到了prepareStement。


            2 . 关于JDBC的一些概述,加载驱动,获取连接,根据连接增删改查等。例如class.forName(String className);强制JVM将com.mysql.jdbc.Driver这个类加载入内存,并将其注册到DriverManager类,根据其参数url找到相应的驱动类,最后获得connection对象。


            3. Freemarker是一个用java语言编写的模板引擎,可以生成HTML,XML.JSP,JAVA等多种文本输出。提高开发效率,分工明确。例如,在一个门户网站里面,使用Freemarker技术将二级三级页面静态化,1,在web.xml里面或者在Spring里面配置一个监听器利用监听器将生成的页面静态话的方法监听,这样项目启动,就会去监听,生成动态页面展示。弊端是:更新操作,不能实时更新,这个时候,可以根据Spring的定时器来解决这个问题。


            4. hibernate的工作原理:首先configuration去加载hibernate.cfg.xml这个配置文件,去创建sessionFactory是线程安全的,获取一个session却是线程不安全的。 缓存机制:是一个持久层框架,为了降低程序对数据库的访问,提高性能,缓存中的数据就是对物理数据源中的数据的复制。

             hibernate的缓存包括两大类:一级缓存 被称为“session的缓存”是内置的,一般声明周期对应一个数据库事务或者一个应用事务,二级缓存,又称为sessionFactary,是进程范围或者集群范围的缓存。


            优化: 1.使用双向一对多,不是有单向一对多。2.灵活使用一对多关联。 3.不用一对一,使用一对多替代。4.表字段要少,表关联不要多。5配置对象缓存,不是有集合缓存。


             Mybatis和Hibernate的区别: hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的javaBean对象与数据库映射结构来自动生成sql,而Mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。


              Hibernate的优势是DAO层开发比Mybatis简单,Mybatis需要维护Sql和结果映射。



              5. Java syncchronized 关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该字段。







收获:



             如上所述。







           


返回列表 返回列表
评论

    分享到