spring+ibatis环境搭建

简单的spring+ibatis入门实例:ibatis是一种半自动化的持久层框架,它介于JDBC和hibernate之间,使用比较灵活。

一:目录结构

二:需要导入的jar包:

所有的第三方jar包都需要加上,spring.jar、ibatis.-2.3.3.720.jar、sqlijdbc.jar、oscache-2.4.jar、commons-pool-1.3.jar、commons-dbcp-1.4.jar,mysql-connector-5.0.5.jar。不然运行的时候都要报错,这里需要注意SqlMapClientDaoSupport类需要的jar包来自于spring.jar,不能导错。

三:代码

1.bean包

bean包封装了POJO对象User,有两个属性id和name

如下:

 1 /**
 2  *
 3  */
 4 package com.hlcui.bean;
 5
 6 /**
 7  * @author Administrator
 8  *
 9  */
10 public class User {
11     private int id;
12     private String name;
13
14
15
16     public int getId() {
17         return id;
18     }
19
20     public void setId(int id) {
21         this.id = id;
22     }
23
24     public String getName() {
25         return name;
26     }
27
28     public void setName(String name) {
29         this.name = name;
30     }
31
32 }

2. Dao包

Dao里面有一个PersonOperDao和PersonOperDaoImpl。PersonOperDao是一个接口,PersonOperDaoImpl实现了Dao的接口。

PersonOperDao代码如下:

 1 /**
 2  *
 3  */
 4 package com.hlcui.dao;
 5
 6 import java.util.List;
 7
 8 import com.hlcui.bean.User;
 9
10 /**
11  * @author Administrator
12  *
13  */
14 public interface PersonOperDao {
15     public List<User> getAllUsers();
16     public User getUserById(int id);
17     public void save(User user);
18     public void delete(int id);
19     public void modify(User user);
20 }

PersonOperDaoImpl代码如下:

 1 /**
 2  *
 3  */
 4 package com.hlcui.dao;
 5
 6 import java.util.List;
 7
 8 import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
 9
10 import com.hlcui.bean.User;
11
12 /**
13  * @author Administrator
14  *
15  */
16 public class PersonOperDaoImpl extends SqlMapClientDaoSupport implements
17         PersonOperDao {
18
19     @SuppressWarnings("unchecked")
20     @Override
21     public List<User> getAllUsers() {
22         return this.getSqlMapClientTemplate().queryForList("getAllUsers", null);
23     }
24
25     @Override
26     public User getUserById(int id) {
27         return (User) this.getSqlMapClientTemplate().queryForObject("getUserById",
28                 id);
29     }
30
31     @Override
32     public void save(User user) {
33         this.getSqlMapClientTemplate().insert("saveUser", user);
34     }
35
36     @Override
37     public void delete(int id) {
38         this.getSqlMapClientTemplate().delete("deleteUser", id);
39     }
40
41     @Override
42     public void modify(User user) {
43         this.getSqlMapClientTemplate().update("modifyUser", user);
44     }
45
46 }

四:配置文件

除此之外,关键的问题还有三个配置文件。applicationcontext.xml、ibatis.xml、sqlMapConfig.xml。

applicationContext.xml文件是spring的配置文件,

1:配置数据源 2:配置sqlmapclient配置文件  3:引入配置文件sqlmap

如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 5
 6     <!-- 配置数据源 -->
 7     <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource">
 8         <property name="driverClassName">
 9             <value>com.mysql.jdbc.Driver</value>
10         </property>
11         <property name="username">
12             <value>root</value>
13         </property>
14         <property name="password">
15             <value>root</value>
16         </property>
17         <property name="url">
18             <value>jdbc:mysql://localhost:3306/test</value>
19         </property>
20     </bean>
21
22     <!-- 引入sqlmap配置文件 -->
23     <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
24         <property name="configLocation">
25             <value>sqlMapConfig.xml</value>
26         </property>
27     </bean>
28
29     <!-- 配置DAO -->
30     <bean id="PersonOperDaoImpl" class="com.hlcui.dao.PersonOperDaoImpl">
31         <property name="dataSource">
32             <ref bean="datasource" />
33         </property>
34         <property name="sqlMapClient">
35             <ref bean="sqlMapClient" />
36         </property>
37     </bean>
38 </beans>

ibatis.xml内容如下:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
 3 <sqlMap >
 4   <typeAlias type="com.hlcui.bean.User" alias="user"/>
 5   <resultMap id="ibatisTest" class="user" >
 6     <result column="id" property="id" jdbcType="int" />
 7     <result column="name" property="name" jdbcType="varchar" />
 8   </resultMap>
 9
10   <!-- 获得全查询列表 -->
11   <select id="getAllUsers" resultMap="ibatisTest">
12     select * from User
13   </select>
14
15   <!-- 根据id获得用户对象 -->
16     <select id="getUserById" resultMap="ibatisTest">
17      select * from User where id=#value#
18   </select>
19
20    <!-- 新增用户对象 -->
21    <insert id="saveUser" parameterClass="user">
22       insert into User (id,name) values (#id#,#name#)
23    </insert>
24
25    <!-- 删除用户对象 -->
26    <delete id="deleteUser">
27      delete from User where id=#value#
28    </delete>
29
30    <!-- 更新用户对象 -->
31    <delete id="modifyUser" parameterClass="user">
32       update User set name=#name# where id=#id#
33    </delete>
34 </sqlMap>  

sqlMapConfig.xml文件如下:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE sqlMapConfig
3 PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
4 "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
5 <sqlMapConfig>
6     <sqlMap resource="ibatis.xml" />
7 </sqlMapConfig> 

五:测试语句

 1 /**
 2  *
 3  */
 4 package com.hlcui.test;
 5
 6 import java.util.List;
 7
 8 import org.junit.Test;
 9 import org.springframework.context.ApplicationContext;
10 import org.springframework.context.support.ClassPathXmlApplicationContext;
11
12 import com.hlcui.bean.User;
13 import com.hlcui.dao.PersonOperDao;
14
15 /**
16  * @author Administrator
17  *
18  */
19 public class TestUserOper {
20     /**
21      * 测试获取所有用户信息
22      */
23     @Test
24     public void testFindAllUsers() {
25         List<User> users = getDAO().getAllUsers();
26         for (User u : users) {
27             System.out.println("编号:" + u.getId() + "  姓名:" + u.getName());
28         }
29     }
30
31     /**
32      * 测试根据id获取对象信息
33      */
34     @Test
35     public void testFindUser() {
36         int id = 1;
37         User user = getDAO().getUserById(id);
38         System.out.println("编号:" + id + "  姓名:" + user.getName());
39     }
40
41     /**
42      * 测试插入用户信息
43      */
44     @Test
45     public void testSaveUserInfo() {
46         User u = new User();
47         u.setId(2);
48         u.setName("Lucy");
49         getDAO().save(u);
50     }
51
52     /**
53      * 测试删除用户信息
54      */
55     @Test
56     public void testDeleteUserInfo() {
57         int id = 2;
58         getDAO().delete(id);
59     }
60
61     /**
62      * 测试修改用户信息
63      */
64     @Test
65     public void testModifyUserInfo() {
66         int id = 1;
67         User user = getDAO().getUserById(id);
68         user.setName("Lili");
69         getDAO().modify(user);
70     }
71
72     /**
73      * 获取DAO对象
74      *
75      * @return
76      */
77     public PersonOperDao getDAO() {
78         ApplicationContext ac = new ClassPathXmlApplicationContext(
79                 "applicationContext.xml");
80         return (PersonOperDao) ac.getBean("PersonOperDaoImpl");
81     }
82 }

以上代码均已验证。

时间: 2024-12-22 16:13:09

spring+ibatis环境搭建的相关文章

【原】Spring activiti 环境搭建之数据库创建

由于在开发工作流的时候,避免不了要保存一些数据和流程走向;所以在搭建Spring activiti开发环境的时候需要把官方提供的23张表创建到我们的DB,后续的流程都会在这些表中记录. 1.创建代码如下: @Test public void createactivityTable(){ ProcessEngineConfiguration p = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration(

Spring MVC 环境搭建

作为java领域不可或缺的一员猛将,今天我开始正式接触它.与所有框架一样,我们第一步要做的就是搭建环境. 首先我们需要准备的材料: Eclipse tomcat(我用的是7.0) spring mvc jar包(我用的是3.2的) 有了这些工具,下面我们开始吧! 1.新建一个项目 Eclipse新建 Dynamic Web project 选择相应的服务器容器(我用的是Tomcat7.0),一路下一步到完成. 2.引入jar包 SpringMVC使用的jar包基本和Spring是相同的,我们可以

spring MVC环境搭建

1.新建web项目,并在web.xml加入spring mvc的servlet <!-- spring mvc容器和servlet的定义 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 这里的参数如果不

Spring MVC 环境搭建(一)

一.建立 JavaWeb 项目 1.建立一个 Java 项目. 2.在项目下新建一个文件夹 webapp (命名可自取,这个目录即是网站根目录),再在该文件夹下新建一个 WEB-INF 文件夹(命名固定),WEB-INF 作为 Tomcat 启动后的安全文件夹,浏览器不能访问到该目录下的资源.tomcat 启动会默认会在此目录下读取相应配置文件. 3.在 WEB-INF 下建立 web.xml 文件(命名固定),从 tomcat 安装路径 /conf/web.xml 中拷贝基本的文档结构,修改相

Spring开发环境搭建教程

Spring开发环境搭建 JDK7以上版本 eclispe for j2ee 4.0以上版本 Spring frameWorks 3.0以上版本 至于前两个我们就不介绍,直接百度就可以了,对于Spring FrameWork的下载链接比较难找. Spring frameWorks 3.0以上版本下载步骤 1.首先打开链接Spring官方网站 2.然后 点击最新版本号的Referrence链接进入 3. 选择Distribution Zip Files这一项. 4. 点击这个链接进入,进入真正的下

Spring 开发环境搭建

为了方面,直接使用eclipse,创建maven工程,创建成功之后 一.修改pom.xml,为了方面我就把Spring相关的jar包都引用了 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0

Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker) ----DawnHeaven

Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker)       ------DawnHeaven 一.准备工作 1.Eclipse Java EE IDE(4.4.1) 2.JDK 3.Tomcat 4.Maven  maven安装指南 二.构建工程 1.file->new->Project 2.next 3. next 4.next 5.finish 工程目录如下 三.完善项目 首先,完善目录,增加重要的source Folder,这个不是

Spring开发环境搭建(Eclipse)

开发环境搭建,主要包含2部分: Java安装 Eclipse安装 为易于学习,我们只安装这2个部分,对于一般开发学习也足够了.如果你有其他要安装的,酌情添加. Java安装 我们使用Java8: 下载JDK 32位下载x86版本,64位下载x64版本,请根据自己情况选择: 下载后双击安装,安装后检查安装是否成功,打开命令行工具,执行java -version,正常打印出Java版本号,安装成功. Eclipse安装 1. Eclipse下载安装 Eclipse很强大,而且免费,我们使用Eclip

Spring框架环境搭建

环境要求:jdk  1.7 及以上.Spring版本:4.3.2 1.建立普通的java 工程 2.新建lib目录,并将一下5个核心jar包拷贝过来,并加入classpath中 下载地址: http://repo.spring.io/libs-release-local/org/springframework/spring/4.3.2.RELEASE/ 3.spring  配置文件的编写 在src下新建xml文件,并拷贝官网文档提供的模板内容到xml中,配置bean到xml中 4. 验证spri