初学MyBatis-Spring,发个帖子记录一下自己的学习历程,先写个自己的编程步骤。

1.先进行数据库设计。

2.根据所设计的数据,写出相应的POJO,并写出setter和getter方法。

3.编写Mapper接口,并写出其相应的xml文件。

4.编写MyBatisConfig.xml文件,现在看来只需要编写其setting。

5.开始编写springbeans.xml文件。

(1)

记得先编写dataSource bean 该bean的class选择为:org.springframework.jdbc.datasource.SimpleDriverDataSource

dataSource bean的四个参数driverClass、url、username、password可以直接赋值,也可以从properties文件中引用。

那么先创建一个dataSource.properties文件,如下:

然后在springbeans.xml文件中引用这个properties文件,引用代码如下:

<context:property-placeholder ignore-resource-not-found="false" location="classpath:dataSource.properties"/>

  当然,在使用context时要记得添加它的命名空间,否则将会报错,如下加粗的三行代码:

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
">

这样,就可以调用dataSource.properties文件中的数据了。

如下,用调用的方法给dataSource  bean中的参数赋值:

<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="${jdbc.database.driver}" />
<property name="url" value="${jdbc.database.url}" />
<property name="username" value="${jdbc.database.username}" />
<property name="password" value="${jdbc.database.password}" />
</bean>

(2)

接下来应该配置SqlSessionFactory Bean,我们都明白SqlSessionFactory是产生SqlSession的基础,在MyBatis中是使用SqlSessionFactoryBuilder来创建SqlSessionFactory,而在MyBatis+Spring中,提供了SqlSessionFactoryBean去支持SqlSessionFactory的配置。配置方法如下:

<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:MyBatisConfig.xml"/>
</bean>

其中 dataSource就是前面我们所创建的dataSource Bean,configLocation 是MyBatis配置文件的定位。

(3)

接下来配置MapperFactoryBean,如下所示:

<bean id="UserMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="mapper.UserMapper"/>
<property name="SqlSessionFactory" ref="SqlSessionFactory"/>
</bean>

其中,参数mapperInterface的value值为该映射器接口的路径,SqlSessionFactory就是上一步所配置的SqlSessionFactory Bean。

当然,这是引入一个Mapper的配制方法,当需要配置很多mapper时,一个一个的进行配置会耗费很多时间,这是可以使用MapperScannerConfigurer进行配置,但是暂时还没有学习配置的方法,这个内容就先不讲。应该很简单,不难。

6.接下来就可以编写一个Main进行测试了,如下所示:

package doing;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import mapper.CreateTableMapper;
import mapper.FileNameMapper;
import mapper.UserMapper;
import pojo.FileName;
import pojo.User;
public class Main {
public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("SpringBeans.xml"); UserMapper userMapper = ctx.getBean(UserMapper.class);
User user = new User();
/*user = userMapper.getUserById(3L);
System.out.println(user.getFiles().get(1).getFile_name());
FileNameMapper fileNameMapper = ctx.getBean(FileNameMapper.class);
fileNameMapper.deleteFileNameByUser_Name(user.getUser_name());
userMapper.deleteUserById(3L);*/ user.setUser_name("zhouchunjie");
user.setPassword("12345");
user.setMobile("17721260015");
user.setNote("No Note");
userMapper.insertUser(user);
}
}

那么MyBatis+Spring的编程步骤大概就是这样,对于我这个菜鸟来说,有一个自己的编程步骤能让我敲代码时思维不那么混乱。

在进行MyBatis+Spring编程时,千万要记得导入mybatis-spring-1.3.0.jar!!!

在本次编程的过程中,还发现,MyBatis不仅仅可以对已经存在的表进行查询,删除,更新等等等等操作,而且还可以创建新的表单!具体方法懒得码字了。。。

MyBatis-Spring开发记录贴(新手)的更多相关文章

  1. 集成框架 javaweb开发平台ssmy_m(生成代码) java struts2 mybatis spring maven jquery

    网页地址 http://blog.csdn.net/lpy3654321/article/details/31841573 项目设想,在项目开发中,我们的开发者大多数时间都在反复开发 相同的keywo ...

  2. 详解Spring Boot集成MyBatis的开发流程

    MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集. spring Boot是能支持快速创建Spring应用的Java框 ...

  3. SpringMVC笔记——Spring+MyBatis组合开发简单实例

    简介 SSH框架很强大,适合大型项目开发.但学无止境,多学会一门框架组合开发会让自己增值许多. SSM框架小巧精致,适合中小型项目快速开发,对于新手来说也是简单上手的.在SSM框架搭建之前,我们先学习 ...

  4. Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    1.开发工具使用: MyEclipse或Eclipse,数据库使用Oracle.需要用到的软件有Zookeeper(注册中心),Tomcat(Web容器)和Maven(包管理). 2.初始环境配置: ...

  5. 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上)

    由于本人愚钝,整合ssm框架真是费劲了全身的力气,所以打算写下这篇文章,一来是对整个过程进行一个回顾,二来是方便有像我一样的笨鸟看过这篇文章后对其有所帮助,如果本文中有不对的地方,也请大神们指教. 一 ...

  6. MyBatis+Spring+Spring MVC整合开发

    MyBatis+Spring+Spring MVC整合开发课程观看地址:http://www.xuetuwuyou.com/course/65课程出自学途无忧网:http://www.xuetuwuy ...

  7. SpringMVC,Spring,Hibernate,Mybatis架构开发搭建之SpringMVC部分

    SpringMVC,Spring,Hibernate,Mybatis架构开发搭建之SpringMVC部分 辞职待业青年就是有很多时间来写博客,以前在传统行业技术强度相对不大,不处理大数据,也不弄高并发 ...

  8. 框架篇:Spring+SpringMVC+Mybatis整合开发

    前言: 前面我已搭建过ssh框架(http://www.cnblogs.com/xrog/p/6359706.html),然而mybatis表示不服啊. Mybatis:"我抗议!" ...

  9. SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发。

    SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发.是目前企业开发比较流行的架构.代替了之前的SSH(Struts + Spring + Hibernate) 计划 ...

随机推荐

  1. java课堂笔记

  2. Python中对字符串的操作

    Python字符串的相关操作 1.字符串格式判断 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.isl ...

  3. Python-接口自动化(七)

    requests模块(七) (八)requests模块 1.requests是用python语言编写,属于第三方库,基于urllib,采用Apache2 Licensed开源协议的HTTP库,它比ur ...

  4. Jmeter之https脚本录制

    jmeter录制脚本时,跟http脚本录制主要区别是,https录制需要添加安全证书.   一.jmeter代理服务器及证书配置. 1.打开jmeter,右键测试计划添加线程组,右键工作台--> ...

  5. 在win系统安装Git

    Git是优秀, 先进的代码版本控制管理工具, 是分布式, 比SVN进步. 比如我们可以从Github拉取代码, 或者上传到GIthub. 下面说下安装: 搜索引擎搜索Git, 找到官网, 找到安装文件 ...

  6. 反射Dll注入分析

    (源码作者:(HarmanySecurity)Stephen Fewer) 0x01  反射Dll注入的优点  1.反射Dll注入的主要优点是它没有以主机系统的任何方式(例如LoadLibrary和L ...

  7. JAVAEE 第七周

    JSON语法: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集 ...

  8. 记一次JDK升级带来的连环反应

    公司之前有个很久以前的小项目,页面用到了flash. 现在要去掉flash, 前端使用公司自己开发的框架来展示数据, 使用该框架后台要引用一个jar包封装数据传递给前台. 但该框架是jdk1.8编译的 ...

  9. Atom本地安装插件右上角出现红色报错解决方案

    在github上搜索你相中的插件(Package),并下载ZIP包或直接克隆项目到本地.然后将该包直接复制到C盘中的用户下的 .atom\packages\ 文件夹下,注意 atom前面有一个点. 然 ...

  10. LR单用户,重复操作日志

    案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办?录3个脚本?每个事务分别在脚本中复制N次? 当然不用,LR早就想到了你的需求,下面让我们隆重推出Block. 位置: ...