MyBatis、Spring

一、Mybatis_web项目的搭建流程
1、创建项目
2、导入jar包
3、准备数据库表
4、封装domain的实体类对象
5、创建mapper接口,添加增删改查五个抽象方法
6、创建mapper.xml的文件,添加增删改查的SQL语句
7、创建resources资源文件
(1)加载配置文件
(2)配置mapper.xml中domain的别名
(3)配置数据库环境
(4)配置mapper.xml映射文件所在目录
8、创建MybatisUtil工具类
9、创建mapper实现类,重写抽象方法,实现增删改查
10、创建测试类测试mapper能否正常与数据库交互
11、创建service接口及实现类
12、测试service能否正常读写
13、创建controller层,使用servlet跳转

二、Mybatis的mapper实现
比起dao来说,mapper不需要写实现类,可以调用自己定义的方法。

三、mapper映射器
1、xml映射器
2、注解映射器

四、高级查询
1、高级查询就是多条件动态查询,可以快速查找到想要了解的信息,过滤掉不用得信息。
2、query规范
高级查询一般会将前端传递的参数封装为一个xxxQuery对象
一个实体类对应一个query对象
3、动态SQL
3.1if标签
可以用来判断条件是否满足,满足就拼接SQL,不满足就不会拼接
会自动加上空格
需要判断参数类型,如果是字符串就需要判断空(null)和空字符串
如果是其他,就要判断是否为null
3.2 where标签
拼接了一个where,有条件满足才会拼接
忽略第一个多余的and和or
自动加空格

在模糊查询中,在MySQL中用concat拼接函数
例如and name like concat(“%”,#{keyword},“%”)

特殊字符号处理
1、在xml中用cdata处理 大于等于 <![CDATA[ >= ]]>
2、> <

sql和include
用sql标签获取相同的sql部分,用include调用

四、使用spring
在开发中,代码耦合度高,对象之间依赖关系处理繁琐。事务管理复杂,spring可以更好的解决这些问题

五、初识spring
1、Spring是一个开源的轻量级控制反转(IOC)和面向切面编程(AOP)的容器框架
(1)轻量级:开发使用简单,功能强大
(2)IOC(控制反转):将创建对象交给spring容器
(3)AOP(面向切面编程)
(4)容器框架,spring中存放的是spring工厂创建的对象
2、好处
spring可以降低耦合、降低维护难度,提高开发效率

六、spring入门
1、spring的IOC机制
(1)管理对象:包括对象的创建、初始化、和销毁
(2)依赖关系维护:使用DI
2、搭建spring环境
2.1创建项目
2.2导入jar包
2.3配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	 http://www.springframework.org/schema/beans/spring-beans.xsd">
 	<bean id="" class="">
 <!-- collaborators and configuration for this bean go here -->
</bean>
</beans>

2.4准备数据
准备一个普通java类

public class User {
	 public void show() {
    System.out.println("展示学生类的信息");
  }
}

2.5项目开发
3、入门实现
3.1spring管理对象
spring是一个容器,我们需要把类交给spring去管理
在applicationContext.xml中配置:

<beans ...>
    <bean id="myBean" class="cn.itsource.bean.MyBean"></bean>
</beans>

3.2实例化

BeanFactory和ApplicationContext
ApplicationContext继承自BeanFactory接口
BeanFactory:@Test
public void testHelloSpring() throws Exception {
//第一步:读取资源文件
//懒加载,在调用的时候才创建
Resource resource = new ClassPathResource("applicationContext.xml");
//第二步:拿到核心对象 BeanFactory
 BeanFactory factory = new XmlBeanFactory(resource);
}
//迫切加载,在还没有调用的时候就创建所有对象,可以提高效率【更好】
ApplicationContext://第一步:先读取applicationContext.xml配置文件
	ApplicationContext beanFactory = new 						ClassPathXmlApplicationContext("applicationContext.xml");
	//第二步:通过bean工厂对象传入bean的id
	User bean = beanFactory.getBean("user", User.class);

七、依赖注入
1、xml注入
在xml中配置,要有getter和setter
xml配置:

<bean id="user" class="com.wyc.domain.User">
<!-- property:给对象中的属性赋值
	name:对象中set属性
	value:只能赋值字符串,不能是对象
	ref:给bean的字段赋值另一个bean对象,值是另一个bean对象的id
 -->
	<property name="name" value="浩浩"></property>
	<!--<property name="stu" ref="stu"></property>  -->
	<property name="stu">
		<bean class="com.wyc.domain.Stu">
	<property name="name" value="超"></property>
</bean>
	</property>
</bean>

2、注解注入
@Autowried
@Resource

八、测试
@RunWith:开启Spring测试
@ContextConfiguration(“classpath:applicationContext.xml”):表示从CLASSPATH路径去加载资源文件
@Autowired:表示自动装配/注入,自动从Spring容器中取出对应bean对象赋值给当前属性

测试代码:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class SpringUserTest {
@Autowired
private Teacher teacher;
@Resource
private Stu stu; 
@Test
public void testName() throws Exception {
	Teacher t = new Teacher();
	Stu stu = new Stu();
	t.setStu(stu);
	//通过teacher去调用stu中的show方法
	t.getStu().show();
}

@Test
public void testName2() throws Exception {
	stu.show();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春花.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值