`
429537044
  • 浏览: 48865 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring+mybatIS之helloworld

阅读更多

怒放的生命镇博。。。

曾经多少次跌倒在路上 曾经多少次折断过翅膀 如今我已不再感到彷徨 我想超越这平凡的生活

我想要怒放的生命 就像飞翔在辽阔天空 就像穿越在无边的狂野 拥有挣脱一切的力量…………

 

周末,学了一下mybatis 再把mybaits和spring整合到一起。

spring和mybatis用的都是3.2的版本

spring-mybaits.jar 包 是1.2.1的版本

由于我这个项目可能会有后续的开发,所有就把spring3.2中的包全部添加进来了,

在用spring的事物管理,用了申明试事物管理。所有用到了 aspatj***等包

在测试的时候用了junit。

整个项目用到的jar包如下所示。

 在整个项目中都采用的时候xml文件配置的方式。

首先一个实体类,属性不多,如下 set 和get方法就没有贴上来了。。。。

package org.i94livng.model.user;

public class User {

	private String userName;
	private String password;
	private String userId;
	
	@Override
	public String toString() {
		return "User [userName=" + userName + ", password=" + password
				+ ", userId=" + userId + "]";
	}
	
	
}

 数据库的初始表以及值如下

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `user_id` varchar(20) NOT NULL,
  `user_name` varchar(20) DEFAULT NULL,
  `user_password` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'i94living', 'i94living');

 下面说明一下配置文件,配置文件包括spirng的配置文件和mybaits的配置文件。

 

mybaits的配置文件分两种类型,一种项目总体配置文件,一种是sql映射的配置文件。

sql映射的配置文件如下,(UserMapper.xml)

<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.i94livng.model.user.User">
	<resultMap type="User" id="userMap">
		<id column="user_id" property="userId" />
		<result column="user_name" property="userName" />
		<result column="user_password" property="password"/>
	</resultMap>
	
	<select id="getAllUser" resultMap="userMap">
		select * from user  
	</select>
	
</mapper>

 namespace:命名空间,resultMap:返值的类型,<select id="getAllUser"……>给定一个id 以便在代码

 

中调用给sql语句。

mybaits的总体配置文件如下(sqlMapConfig.xml):

看这个xml文件的名字就能想到这个xml的主要作用就是替项目找到各个模块中sql的映射文件。

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

  <typeAliases>
  	<typeAlias type="org.i94livng.model.user.User" alias="User"/>
  </typeAliases>
  
  <mappers>
    <mapper resource="org/i94livng/model/user/UserMapper.xml"/>
  </mappers>
</configuration>

 

 

typeAlias:可以理解为为某一个类型起一个别名。mapper:看到resource这个属性就知道这玩意是找映

射文件。

 

既然这个项目用的事spring这个容器,必然就得说一下spring的配置文件。

spring的配置文件,我分开在两个xml文件里面写的。

首先说一下applicationContext.xml这个文件。如下:………………引用的文件的不贴出来了。。。。
 

<import resource="classpath:applicationContext-tx.xml"/>
    <context:property-placeholder location="classpath:jdbc.properties" />
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  		 <property name="driverClassName" value="${jdbc.driverName}"/>
         <property name="url" value="${jdbc.url}"/>
         <property name="username" value="${jdbc.username}"/>
         <property name="password" value="${jdbc.password}"/>
    </bean>
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
	</bean>
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
		<!-- 构造方法注入 -->
		<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
	</bean>
	<bean id="userDaoImpl" class="org.i94livng.dao.user.UserDaoImpl" >
		<property name="sqlSession" ref="sqlSession"></property>		
	</bean>

 这个xml中都是些很简单的东西了,基本上的属性注入,构造方法注入等。

import:引入其他xml文件

<context:property-placeholder location="classpath:jdbc.properties" />:读取,引入properties文件。

 

在该项目中,是由spring来管理事务的,采用了申明式事务管理,具体配置见applicationContext-tx.xml文件。如下:

     
    <!-- 开启spring的事物管理 -->  
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	
	<!-- 所有方法都是用  REQUIRED 模式的事物管理-->
	<tx:advice id="txAdvice">
		<tx:attributes>
			<tx:method name="*" propagation="REQUIRED"/>
		</tx:attributes>
	</tx:advice>
	
	<aop:config >
		<aop:pointcut expression="execution(* org.i94living.dao.*.*(..))"
		id="interceptorPointCuts"/>
		<aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts"/>
	</aop:config>

 接下来就是贴java代码了,

首先:UserDaoImpl,接口就不贴了

public class UserDaoImpl implements UserDao {
	
	private  SqlSession sqlSession;
	public void setSqlSession(SqlSession sqlSession) {
		this.sqlSession = sqlSession;
	}
	
	public List<User> getUserList() {
		return sqlSession.selectList("org.i94livng.model.user.User.getAllUser");
	}
}

  很简单的几句代码。

最后就是测试类里的UserDaoImplTest.java

package org.i94livng.dao.user;


import java.util.List;

import org.i94livng.model.user.User;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class UserDaoImplTest {
	
	private static  UserDao userDaoImpl;
	
	@BeforeClass
	public static void beforeClass(){
	       ApplicationContext context = null;
		try {
			context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
		} catch (BeansException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}         
	      
	       userDaoImpl = (UserDaoImpl)context.getBean("userDaoImpl");   
	}
	
	@Test
	public void testGetUserList() {
		List<User> userList = userDaoImpl.getUserList();
		for (User user : userList) {
			System.out.println(user.toString());
		}
	}

}

 

运行测试类得到的结果如下:



 

  • 大小: 36.6 KB
  • 大小: 2.3 KB
分享到:
评论

相关推荐

    spring+mybatis的helloworld项目

    在本项目"spring+mybatis的helloworld"中,我们主要关注的是如何使用Spring和MyBatis这两个流行的Java开发框架来构建一个简单的Web应用程序。这个项目以Maven为构建工具,实现了MySQL数据库的插入操作,并利用Log4j...

    Struts2+Spring+MyBatis环境搭建

    Struts2+Spring+MyBatis环境搭建 Struts2、Spring 和 MyBatis 是 Java Web 开发中三个非常重要的框架,分别负责 MVC 模式的Presentation层、Business层和Persistence层。Struts2 负责处理用户的请求和响应,Spring ...

    Eclipse+Struts2+Spring+MyBatis环境搭建

    - 在`WebContent`目录下新建一个默认JSP页面:`NewFile.jsp`,并打印一行信息:“Hello World!”。 - 重启Tomcat服务器,并在浏览器中输入URL:`http://localhost:8080/ems/NewFile.jsp`,验证输出信息。 2. **...

    struts2 + spring + mybatis 注解开发

    @Action(value = "helloWorld", results = { @Result(name = "success", location = "helloWorld.jsp") }) public String execute() { return SUCCESS; } } ``` 上述代码定义了一个名为"helloWorld"的Action,当...

    spring+mybatis+freemarker

    model.put("data", "Hello, World!"); return new ModelAndView("example"); } ``` 至此,我们就完成了 Spring+Mybatis+Freemarker 的基本集成。在这个组合中,Spring Boot 负责整体的管理与配置,Mybatis 处理...

    Spring3.1.2+Mybatis3.1.1+Restlet2.0.1框架HelloWorld实例(Maven)

    Spring3.1.2+Mybatis3.1.1+Restlet2.0.1框架HelloWorld实例(Maven) maven package生成后打包war部署到tomacat测试: http://localhost:8080/oa/rest/hello 数据库为postgresql 9.2,单元测试中有mybatis的数据库...

    Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建

    **步骤5**:在WebContent目录下创建一个简单的JSP页面,如NewFile.jsp,显示"Hello World!"。 **步骤6**:重启Tomcat服务器,并在浏览器中访问新创建的JSP页面,验证环境配置是否成功。 在SSM框架中,Struts2负责...

    Eclipse+Struts2+Spring+MyBatis+jQuery整合教程

    - 在WebContent目录下创建一个默认的JSP文件NewFile.jsp,并在其中打印出“Hello World!”。 - 在Eclipse中重启Tomcat服务器,并在浏览器中输入URL ***,验证是否能看到正确的输出信息。 此外,还可以配置Tomcat的...

    mybatis的Helloworld

    【标题】"mybatis的Helloworld" 在Java开发领域,MyBatis是一个广泛使用的持久层框架,它简化了数据库操作,使开发者能够更方便地进行数据存取。本篇文章将详细解析MyBatis的“Hello World”实例,帮助初学者快速...

    SSM(Eclipse+Struts2+Spring+MyBatis)环境搭建

    - MyBatis: 需要 mybatis-3.x.x-bundle.zip、mybatis-spring-1.x.x-bundle.zip 和 mybatis-generator-core-1.x.x-bundle.zip,提供核心库和整合Spring的库。 - jQuery: 可选,用于前端交互,获取最新版本如 jquery...

    分布式框架简介SSM组合+ springmvc+mybatis+shiro+restful+bootstrap

    本节主要介绍如何基于SSM(Spring、SpringMVC、MyBatis)框架搭建一个简单的Web应用程序,并实现一个HelloWorld示例。 **1. 导入必要的依赖** - **SpringMVC**: MVC(Model-View-Controller)设计模式的实现之一,...

    Spring+SpringMVC+Mybatis最简单的整合示例

    Spring、SpringMVC和Mybatis是Java开发中最常用的三大框架,它们各自负责应用程序的不同层面:Spring作为基础容器,管理对象的依赖注入;SpringMVC处理Web请求和响应;Mybatis则专注于数据库操作。将这三个框架整合...

    mybatis_helloworld

    【标题】"mybatis_helloworld" 是一个关于MyBatis框架的初级示例项目,它旨在帮助初学者理解和学习如何在实际开发中使用MyBatis。MyBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供...

    spring4.3.10+springMVC+mybatis Maven框架集成代码

    SSM框架,即Spring、SpringMVC和MyBatis的集成,是Java Web开发中常见的技术栈,尤其在企业级应用中广泛使用。这个压缩包文件"spring4.3.10+springMVC+mybatis Maven框架集成代码"包含了这三个组件的整合示例,且...

    Spring+struts2+mybatis项目开发环境搭建

    &lt;result name="success"&gt;/WEB-INF/jsp/helloworld.jsp ``` - **自定义拦截器** - **定义拦截器类**:创建自定义拦截器类,实现`Interceptor`接口。 - **配置拦截器**:在`struts.xml`中配置自定义拦截器...

    Spring Boot + MyBatis 多模块项目搭建教程.docx

    通过访问 http://localhost:8080/demo/test,验证 "Hello World!" 是否正确显示,证明项目已成功启动并能够处理请求。 5. 配置模块依赖: 模块间依赖关系如下:biz 层依赖 dao 层,web 层依赖 biz 层。在各子模块...

    简单的Spring,Mybatis框架demo

    这个"Hello World版Spring和Mybatis框架学习demo"是初学者入门的好起点,它演示了如何快速搭建一个简单的Spring+Mybatis项目,帮助理解这两个框架的基本用法和集成方式。通过这个示例,你可以学习到如何配置和使用这...

    struts2+mybatis+spring示例

    至于文件名`helloworld`,这可能是一个入门级别的示例项目,通常会包含基础的Hello World展示,帮助初学者快速理解框架的集成和基本用法。在这样的项目中,你可能找到`struts.xml`、`spring-context.xml`和`mybatis-...

    spring mybatis helloworld

    标题 "spring mybatis helloworld" 暗示我们要探讨的是如何在Java环境下使用Spring和MyBatis框架构建一个基础的Hello World应用。Spring是一个全面的、模块化的应用程序框架,而MyBatis则是一个轻量级的持久层框架,...

Global site tag (gtag.js) - Google Analytics