2 将mybatis配置到springmvc中
为了更方便的连接数据库,将mybatis配置到springMVC中
1). 首先是jar包 多了3个jar druid 这个是阿里的数据库连接包 mybatis和 mybatis-spring

2) 然后是项目目录

3)在web.xml中 加上一个spring的配置文件
<context-param></context-param>元素含有一对参数名和参数值,用作应用的servlet上下文初始化参数。参数名在整个Web应用中必须是惟一的。设定web应用的环境参数(context)

4)
spring-mvc的内容不变,spring-mybatis中的内容如下
<!-- MyBatis配置 这个就是spring和mybatis的整合 也就是spring-mybatis jar-->
<bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--数据库 多数据源配置多个-->
<property name="dataSource" ref="mysqlDataSource" />
<!-- 自动扫描mapping.xml文件 -->
<!-- 自动扫描entity目录, 省掉xml里的手工配置
该属性可以给包中的类注册别名,注册后可以直接使用类名,而不用使用全限定的类名-->
<property name="typeAliasesPackage" value="com.springmvc.model" />
<!-- mysqlSqlSessionFactory会自动扫描该路径下的所有文件并解析。-->
<property name="mapperLocations">
<list>
<value>classpath:/mybatis/*Mapper.xml</value>
</list>
</property>
</bean>
<!--会查找类路径下的映射器并自动将它们创建成MapperFactoryBean -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="mysqlSqlSessionFactory"></property>
<!-- 为映射器接口文件设置基本的包路径 -->
<property name="basePackage" value="com.springmvc.dao" />
<!-- 该属性起到一个过滤的作用,设置该属性,那么mybatis的dao接口 只有包含该注解 才会被扫描-->
<property name="annotationClass" value="com.springmvc.base.JYBatis"/>
</bean>
5) 自定义的JYBatis

/**
* 标识MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描�??
*
* 总的来说就是 target(接口) retention(java-class后依旧可用) document(包含在javadoc中) component(spring扫描)
*/
@Retention(RetentionPolicy.RUNTIME) //注解的生命周期 这个是最长的 jvm加载class文件之后,仍然存在
@Target(ElementType.TYPE) //注解修改目标 (这是个接口) 接口、类、枚举、注解
@Documented //该注解将被包含在javadoc中
@Component //@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
public @interface JYBatis {
String value() default "";
}
6) 数据库连接参数 (这个根据自己本地的库的名字和端口 来自己写)
db.username=root
db.password=123456
db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
db.dirverClass=com.mysql.jdbc.Driver
这样mybatis就整合到springmvc中了,下面做一个例子,往mysql中插入一条数据
1) 首先是jsp页面

还在login.jsp中写一个form
<form action="spring/student/testController" method="post">
<br />用户名: <input type="text" name="name"> <br />
<br />年龄: <input type="text" name="age"> <br />
<br /> 老师: <input type="text" name="teacher">
<br /> <input type="submit" value="登录">
</form>
2) model类 然后写一个Student model类
//Alias是mybatis给当前model类起的别名 typeAlias
@Alias("Student")
public class Student {
private int id;
private String name;
private int age;
private String teacher;
3)StudentController类
@Controller
@RequestMapping("/spring/student")
public class StudentController {
@Resource
private StudentService ss;
@RequestMapping(value="/testController")
public String toPage(Student s){
System.out.println(s.toString());
s.setId(33);
ss.save(s);
return "success";
}
}
4) StudentService StudentServiceImpl StudentDao
public interface StudentService {
public void save(Student student);
}
//StudentServiceImpl 这里要加上注解
@Service("StudentService")
public class StudentServiceImpl implements StudentService {
@Autowired
private StudentDao studentDao;
@Override
public void save(Student student) {
studentDao.insert(student);
}
StudentDao 要加上自定义注解 这里spring会自动为其创建bean
@JYBatis
public interface StudentDao {
public void insert(Student student);
}
5) 最后是mybatis的xml文件 StudentMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.springmvc.dao.StudentDao">
<!-- com.jy.entity.system.account.Account -->
<!-- com.jy.entity.oa.leave.Leave -->
<resultMap id="base" type="Student" > </resultMap>
<select id="find" resultMap="base" parameterType="Student">
SELECT t.* FROM user1 t WHERE 1=1
<if test="id != null and id!='' ">
AND t.id=#{id}
</if>
</select>
<select id="count" resultType="int" parameterType="Student">
SELECT count(*) FROM user1 t WHERE 1=1
</select>
<insert id="insert" parameterType="Student">
<![CDATA[
INSERT INTO user1(
id,
age,
name,
teacher
) VALUES (
#{id},
#{age},
#{name},
#{teacher}
)
]]>
</insert>
<update id="updateUserAssetInfo" parameterType="Map">
UPDATE user1
SET
id=#{id},
age=#{age},
name=#{name},
teacher=#{teacher}
WHERE id=#{id}
</update>
</mapper>
2 将mybatis配置到springmvc中的更多相关文章
- Mybatis配置映射文件中parameterType的用法小结
原创: 在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配 ...
- SpringMVC中数据转换
SpringMVC中接收到的数据都是String形式,然后再根据反射机制将String转换成对应的类型.如果此时想接收一个Date类型,那么我们可以定义一个转换器来完成. 例如,我们有下面的Emp类: ...
- 使用IDEA配置Maven + SpringMVC + Mybatis 【一步一步踩坑详细配置完成】
PS:初学,想使用Maven配置一个SpringMVC的开发环境,照着网上的各种图文解说,配置了好久都没成功,有些写的不够详细,有些只有写一半,走了不少弯弯绕绕,踩了不少的坑,此文将正确配置成功的步骤 ...
- Maven配置Spring+SpringMVC+MyBatis(3.2.2)Pom 以及 IntelliJ IDEA 怎样打开依赖视图
Maven配置Spring+SpringMVC+MyBatis(3.2.2)Pom 配置原则: 利用依赖,将所需的jar包加载到project中. 先依赖主要jar包 Spring + Spring ...
- SSM框架的配置Spring+Springmvc +Mybatis
ssm框架是由spring mvc +spring+mybatis组成 快速阅读 通过spring的配置文件spring.xml,在servlet中指定spring mvc的配置文件spring-mv ...
- 第五节 关于SpringMVC中Ajax的配置和应用[下午]
成熟,不是学会表达,而是学会咽下,当你一点一点学会克制住很多东西,才能驾驭好人生. 还有一周,祥云19就算结算了,一个半月的相处希望,胖先生算一个合格的老师 小白,小蔡,2婷婷,小猴,小恒,小崔,小龙 ...
- Springmvc中配置Quartz使用,实现任务实时调度。
菜鸡的自我修炼,第一次接触quartz,做个记录.-------jstarseven 最近在项目中,第一次在springmvc中配置实用quartz,深刻的感受到quartz带来的方便,顺手做个记录. ...
- JavaEE开发之SpringMVC中的路由配置及参数传递详解
在之前我们使用Swift的Perfect框架来开发服务端程序时,聊到了Perfect中的路由配置.而在SpringMVC中的路由配置与其也是大同小异的.说到路由,其实就是将URL映射到Java的具体类 ...
- Maven-SSM项目pom.xml配置以及springmvc配置以及mybatis配置及web.xml配置
一.Maven本地仓库的pom.xml配置 (全部是mysql数据库) <project xmlns="http://maven.apache.org/POM/4.0.0" ...
随机推荐
- python---random模块使用详解
random与随机操作有关的模块 常用方法: random() --- 返回0-1之见得一个随机浮点数. 调用:random.random() 例如: >>> random.rand ...
- Web服务器自定义错误页面
在使用Web服务器运行程序的时候,难免会出现诸如 404.500 等错误,那么如何针对不同的错误代码来自定义错误页面呢? 1.找到web项目的 web.xml 文件打开,添加以下标签代码,规则是 er ...
- Java 对象复制
Java 对象的一共有 3 种复制对象的方式. 1.直接赋值 (引用复制 ),此种复制方式比较常用. 诸如 A a = b ; a 是直接复制了b的引用 ,也就是说它俩指向的是同一个对象. 此时 ...
- IIS配置發佈網站常見問題及設置
解决方法: 修改.NET Framework 版本为相应版本即可,我以前用的是2.0换成4.0的时候出现这个错误. 我的win7系统, 1.打开IIs点击IIS根节点 2.看右边的“操作”->点 ...
- 使用Hexo+Github一步步搭建属于自己的博客(进阶)
主题的配置:这里以NexT主题作为题材 1.安装NexT,在其文件夹中鼠标右键,点击Git Base Here.输入命令:git clone https://github.com/iissnan/he ...
- day38(增强类的实现)
定义一个接口 package com.baidu.test; public interface Person { public abstract void eat(); public abstract ...
- 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结
虽然看过一些Java 8新特性的资料,但是平时很少用到,时间长了就忘了,正好借着Java 9的发布,来总结下一些Java 8中的新特性. 接口中的默认方法和静态方法 先考虑一个问题,如何向Java中的 ...
- C#实现软件开机自启动原理与代码
1.软件自启动原理 软件自启动的原理要从Windows的注册表聊起,在Windows操作系统下,主要有2个文件夹和8个注册表键项控制程序的自启动,这部分的详细介绍可以参看博客http://www.cn ...
- 【NOIP2016 Day1 T2】天天爱跑步
题目传送门:https://www.luogu.org/problemnew/show/P1600 感觉这两天在处理边界问题上有点神志不清......为了从80的暴力变成100,花了整整一个下午+一个 ...
- Servlet 笔记-读取表单数据
Servlet 处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析: getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值. get ...