SSM框架学习笔记
管理部门:
--Spring + SpringMVC+MyBatis
1.index.jsp--->SpringMVC(Servlet)
接受客户端的请求,读取页面的值,回传到页面
2.Mybatis(jdbc,Dao)
负责处理数据
3.Spring
1.整合Mybatis,Spring
2.IOC(控制反转)---降低类之间的耦合度
JavaBean容器(所有的对象,都由spring容器)
HeroAddServlet
HeroDao
---entity
---DBCon
整体流程
一、添加jar包
手动自己添加就行了
二、编写所有的配置文件
1.web.xml
-
- 加载spring的监听器
- 配饰springMVC-config.xml
- 对全局的JavaBean进行配置加载
- 进行过滤字符
1 <!-- 配置监听spring--> 2 <listener> 3 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 4 </listener> 5 6 <!-- 指定spring bean 的配置文件所在目录 --> 7 <context-param> 8 <param-name>contextConfigLocation</param-name> 9 <param-value>classpath:applicationContext.xml</param-value> 10 </context-param> 11 12 13 <!-- 配置spring字符编码为utf-8 --> 14 <filter> 15 <filter-name>encodingFilter</filter-name> 16 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 17 <init-param> 18 <param-name>encoding</param-name> 19 <param-value>UTF-8</param-value> 20 </init-param> 21 <init-param> 22 <param-name>forceEncoding</param-name> 23 <param-value>true</param-value> 24 </init-param> 25 </filter> 26 <filter-mapping> 27 <filter-name>encodingFilter</filter-name> 28 <url-pattern>/*</url-pattern> 29 </filter-mapping> 30 31 32 33 <!-- springMVC的配置 --> 34 <servlet> 35 <servlet-name>spring</servlet-name> 36 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 37 <init-param> 38 <param-name>contextConfigLocation</param-name> 39 <param-value>classpath:springMvc-config.xml</param-value> 40 </init-param> 41 <load-on-startup>1</load-on-startup> 42 </servlet> 43 44 <servlet-mapping> 45 <servlet-name>spring</servlet-name> 46 <url-pattern> / </url-pattern> 47 </servlet-mapping>
2.springMVC-config.xml
-
- 所有的请求,都交给com.tedu.controller的java文件
-
- 处理请求后,返回的是.jsp文件
<context:component basePackage="com.tedu.controller"> 扫描com.tedu.controller包下所有的java文件 并且查找含有@sevice,@controller,@context 这种注解的java文件然后将该java文件,创建对象。
3.Dao和表,数据源----
applicationContext.xml
这个配置文件,是spring框架的,相当于与一个JavaBean的大容器,帮我们创建所有的对象,并解决所有依赖问题
【1】SqlsessionFactory --sqlSession 可以执行sql语句
【2】数据源
【3】mybatis 表--------->对象 dept(表)---->Dept(对象)
(映射成)
【4】IOC注入,描述类和类之间的关系,帮我们创建所有需要的对象
第一个配置:解决表和对象的映射
注解:
action="deptadd"--->提交给controller包,具体调用哪个方法,如何匹配
@Controller --加给类,相当于new
@requestMapping(value="/daptadd") --加到方法
public string save(){}
@insert
@select
@resultType
2. entity (实体层)
dao (操作数据层)
serviceImpl (接口实现类)
service (接口)
业务逻辑层
add();
findall();
controller
控制层
java 连接 数据库(JDBC)
1。把jar包添加到项目中
2.写代码
1.加载驱动类(com.mysql.jdbc.Driver)
2.在java到数据库之间搭建连接
Connection con;
DriverManager.getConnection(url,"root","5638075")
3.写执行的sql语句
String s = "insert into hero values(4,'菠菜面筋。','死亡之翼')"
4.借助PreparedStatement,执行sql语句
PreparedStatement p = con.prepareStatement(s)
5.查看执行结果
p.executeUpdate()执行
【1】如果sql是增删改(insert,update,delete)
int r =p.executeUpdate()
r=0 则失败
【2】如果sql是select
ResultSet rs = p.executeQuery();
JDBC主要用到的类:
Connection
DriverManager
PreparedStatement
ResultSet
jdbc:mysql://localhost:3306/gamegl
-----------------------------------------------------------------------
①加载驱动的过程,数据库连接的过程——所有的功能都要写一遍,反复调用
DBCon.getCon() return 连接
②HeroAddServlet--读取页面的信息,进行业务逻辑的判断
HeroDao d=new HeroDao();
d.add();
③HeroDao 再加一层,单独去操作表格
add()
findall()
④实体层
未完待续。。。。。。。。。