java编程中的框架学习方法

1、框架的学习的方法

多动手

多思考

查看框架官方文档和源码

S2阶段项目:JDBC+servlet+MySQL+JSP

框架:Struts2 hibernate spring springmvc mybatis 会学习这5个框架。

其中:Struts2和springmvc是代替servlet的。

hibernate和mybatis是代替JDBC的,spring是一个“大管家”的角色,它可以

把其他的框架集成到一起。

所以一般我们在用框架的时候,Spring+SpringMVC+Mybatis 简称 SSM

Spring+Struts2+hibernate 简称 SSH

咱们先学Mybatis,是用来代替JDBC的,所以要跟数据库交互。

Mybatis和hibernate区别:Mybatis中所有的sql语句是由程序员自己写,

要求程序员有较高的写sql语句的技术,而hibernate框架不需要自己写sql语句

因为,hibernate框架封装了sql语句。所以,虽然hibernate框架在大部分情况下

不需要自己写sql语句,但是也可以写sql语句,Mybatis框架比较灵活,性能

较hibernate高。所以Mybatis称为半自动框架,因为sql语句还是自己写。

2、为什么需要框架技术?

为了更快更好的写代码,因为有了框架,有好多的代码就不需要写了,

直接用框架中的代码。

3、框架技术

是一个应用程序的半成品,因为自己还得写代码

提供可重用的公共结构

按一定规则组织的一组组件

4、分析优势

不用再考虑公共问题

专心在业务实现上

结构统一,易于学习、维护

新手也可写出好程序,学习框架的时候,我们新手也可以学好。

5、Struts2框架

MVC设计模式的实现。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。

Controller:常用servlet来实现,通过servlet来获取经过javabean包装过的对象(已存入数据库中的数据),然后再发送数据传输到JSP界面

View:常用JSP来实现,通过可直接观察的JSP页面来展示我们从数据库中获取的数据。

Model:常用javabean去实现,通过各种类来对数据库的数据进行获取,并封装在对象当中。

拦截器

可变和可重用的标签

6、hibernate框架

ORM,简化数据库操作.

(ORM O代表Object对象,R代表Relational关系,M代表Mapping映射。对象关系映射简称ORM)

DAO层

就是说MySQL数据库中的字段 User_Name ,我的bean实体类中

有一个属性 name ,如何去对应?

7、Spring框架,春天的意思,给程序员带来了春天。

依赖注入容器 / AOP实现

声明式事务

简化Java EE应用

黏合剂,将大家组装到一起,集成其他框架

8、Spring MVC,和Spring关系:SpringMVC是Spring的一部分。

结构最清晰的MVC Model2实现

高度可配置,支持多种视图技术

定制化开发

9、Mybatis框架

半自动化的ORM实现

DAO层,和数据库交互。

动态SQL

小巧灵活、简单易学

10、持久化是程序数据在瞬时状态和持久状态间转换的过程。

存在内存中的数据通过JDBC存在MySQL数据库中的过程叫持久化。

那么我们的Mybatis框架,持久层框架。

11、ORM(Object Relational Mapping)

编写程序的时候,以面向对象的方式处理数据

保存数据的时候,却以关系型数据库的方式存储

ORM解决方案包含下面四个部分:

在持久化对象上执行基本的增、删、改、查操作

对持久化对象提供一种查询语言或者API

对象关系映射工具

提供与事务对象交互、执行检查、延迟加载以及其他优化功能

12、MyBatis前身是iBatis,本是Apache的一个开源的项目

官方网站

http://mybatis.org,因为这个是国外的网站,访问不了,所以我们可以

在GitHub上去下载Mybatis框架的jar包。

网址:https://github.com/mybatis/

ORM框架

实体类和SQL语句之间建立映射关系

特点:

基于SQL语法,简单易学

能了解底层封装过程

SQL语句封装在配置文件中,便于统一管理与维护,降低程序的耦合度

方便程序代码调试

因为框架的使用方法有2种:1种是XML配置文件的形式 另一种是

注解的形式,但是配置文件不进行编译,所以后期好维护,而注解是

写在Java文件中的,要进行编译,后期不好维护,注解相对配置文件

来说比较简单,但是Mybatis框架的注解形式并不是很简单。所以我们这里

采用的是配置文件的形式。

13、使用Mybatis框架步骤:

1>导入jar包,如果项目是Java Project ,要新建一个lib文件夹,把jar包

复制到lib文件夹中,导入

mysql-connector-java-5.1.0-bin.jar 用于连接数据库

mybatis-3.2.2.jar Mybatis的jar包

log4j-1.2.17.jar 日志的jar包

然后选中3个jar包,右击鼠标,选择build path--->Add build path

2>新建bean包,写实体类

3>写配置文件

1.新建一个source fold 这是一个文件夹和src文件夹是同级的,

一般把配置文件放在这里面。

2.右击NEW-File ,写文件名,文件名随便起,但是要有意义,默认的

名字 configuration.xml ,我们起一个叫 mybatis-config.xml

3.一般XML文件都有文件头。

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

其中,http://mybatis.org/dtd/mybatis-3-config.dtd是

用于校验代码的。

4.是根标签

myeclipse中的jar包和源码关联步骤:

1、在需要进行关联的jar包上右击选择Properities-->Java Source Attachment

2、在右侧写上地址 写地址的方式有3种,第一种是工作空间,第二种是文件

第三种是文件夹,选择其中一种指定源码路径即可.

查看类中的方法

快捷键:Ctrl+O 鼠标点击其中的方法就会定位到那个方法那

或者第二种方式:

Window->Show View->Outline 也可以查看类中的方法

SqlSessionFactoryBuilder

用过即丢,其生命周期只存在于方法体内

可重用其来创建多个 SqlSessionFactory 实例

负责构建SqlSessionFactory,并提供多个build方法的重载

SqlSessionFactory

SqlSessionFactory是每个MyBatis应用的核心

作用:创建SqlSession实例

作用域:Application

生命周期与应用的生命周期相同

*单例*:

存在于整个应用运行时,并且同时只存在一个对象实例

SqlSession

包含了执行SQL所需的所有方法

对应一次数据库会话,会话结束必须关闭

线程级别,不能共享

注意:在SqlSession里可以执行多次SQL语句,

但一旦关闭了SqlSession就需要重新创建

SqlSession的两种使用方式:

1、通过SqlSession实例直接运行映射的SQL语句

例子:

int count=sqlSession.selectOne("cn.bdqn.dao.DeptMapper.findCount");

注意:cn.bdqn.dao.DeptMapper.findCount要和mapper.xml映射文件中namespace

的值一致。

2、基于Mapper接口方式操作数据

1,新建一个接口 (一般接口的名字和sql映射文件的名字 类名+Mapper)

2,在接口中写一个方法,方法的名字就是sql映射文件中sql语句的id的名字

注意:sql映射文件中namespace中的值要和接口的路径要一致,不是和这个

文件本身的路径一致。

非集成环境下的最佳实践

SqlSessionFactoryBuilder

用过即丢,推荐作用域范围:方法体内

SqlSessionFactory

最佳作用域范围:应用的全局作用域

生命周期与应用的生命周期相同

SqlSession

线程级

一个request请求期间

mybatis-config.xml中的标签是由顺序要求的,顺序不能乱

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181210A06ZVZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券