一、Java小知识点
1、Aop相关术语中,用于表示切面与程序流程的交叉点的是:pointcut
2、spring的Aop的意思是面向切面编程
3、Mybatis的主配文件:
Mybatis-config.xml
spring:applicationContext.xml
spring mvc : spring mvc-config.xml
4、中间JAR:mybatis-spring-1.3.1.jar
5、为了防止前端传入的中文乱码,只需要在web.xml文件中添加代码:
encoding
UTF-8
6、RESTful风格就是把请求参数变成请求路径的一种风格。
7、Spring MVC中的拦截器类似于Servlet中的过滤器,主要用于拦截用户请求并作相应处理。
8、编程式事务管理:是通过编写代码实现的事务管理,包括定义事务的开始,正常执行后的事务提交和异常时的事务回滚。
9、mybatis:mybatis(前身是iBatis),是一个支持普通SQL查询,存储过程以及高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索,并使用简单的xml或注解进行配置和原始映射,用以将接口和Java的POJO(普遍Java对象)映射成数据库中的纪录,使得Java开发人员可以使用面向对象的编程思想来操作数据库。
10、准备所需JAR包,整合环境搭建
1)Spring框架所需的JAR包
2)MyBatis框架所需的JAR包
3)MyBatis与Spring整合的中间JAR
4)数据库驱动JAR包
5)数据源所需JAR包
11、配置spring mvc步骤
1)创建项目,引入JAR包
2)配置前端控制器
3)创建Controller类
4)配置spring mvc的配置文件,配置控制器映射信息
5)创建视图(view)页面
6)启动项目,测试应用
12、绑定默认参数类型
HttpServlet Request //通过Request对象获取请求信息
HttpServlet Response //通过response处理相应信息
HttpSession //通过Session对象得到Session中存储的对象
Model/ModelMap //Model是一个接口,ModelMap是一个接口实现,作用是将Model数据填充到request域
二、相关代码
1、更新客户(MyBatis)
MyBatis的更新操作在映射文件中是通过配置元素实现的。如果需要更新用户数据,可以通过如下代码配置来实现。
1
2
3 update t_customer set4 username=#{username},jobs=#{jobs},phone=#{phone}5 where id=#{id}6
2、ViewResolver(视图解析器)
Spring MVC中的视图解析器负责解析视图,可以通过在配置文件中定义一个ViewResolver来配置视图解析器,其配置示例如下:
1
2
3 "org.springframework.web.servlet.view.InternalResourceViewResolver">
4
5
6
7
8
3、JSON结构
例如:一个person对象包含name、hobby和address对象,其代码表现形式如下:
1 {2 "name": "zhangsan"
3 "hobby": ["篮球","羽毛球","游泳"] //数组
4 "address":{5 "city":"Beijing"
6 "street":"Xisanqi" //对象
7 "postcode":"100096"
8 }9 }
4、拦截器的定义
publicboolearn preHandle
public voidpostHandle
public void afterCompletion
5、
在文件中使用元素编写根据客户姓名和职业组和条件查询客户信息列表的动态SQL语句:
在文件中使用元素的test属性分别对username和jobs进行了非空判断,如果传入的查询条件非空就进行动态SQL组装。
1
2 and username like concat('%',#{username}, '&')3
4
5 and jobs=#{jobs}6
6、在OrdersMapper.xml文件中使用嵌套查询方式(用inner join改写)
1
2 resultMap="OrdersWithPorduct2">
3 select o.*,p.id as pid,p.name,p.price4 from (tb_orders o inner join tb_ordersitem oi on p.id=oi.orders_id)5 inner join tb_product p on oi.product_id=p.id6 WHERE oi.orders_id=o.id7 and oi.product_id=p.id8 and o.id=#{id}9