管理部门:
–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进行配置加载
- 进行过滤字符
<!-- 配置监听spring-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- 指定spring bean 的配置文件所在目录 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param> <!-- 配置spring字符编码为utf-8 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- springMVC的配置 -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern> / </url-pattern>
</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”) –加到方法
publicstringsave(){}
@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–读取页面的信息,进行业务逻辑的判断
HeroDaod=newHeroDao();
d.add();
③HeroDao再加一层,单独去操作表格
add()
findall()
④实体层
未完待续。。。。。。。。。