怒放的生命镇博。。。
曾经多少次跌倒在路上 曾经多少次折断过翅膀 如今我已不再感到彷徨 我想超越这平凡的生活
我想要怒放的生命 就像飞翔在辽阔天空 就像穿越在无边的狂野 拥有挣脱一切的力量…………
周末,学了一下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()); } } }
运行测试类得到的结果如下:
相关推荐
在本项目"spring+mybatis的helloworld"中,我们主要关注的是如何使用Spring和MyBatis这两个流行的Java开发框架来构建一个简单的Web应用程序。这个项目以Maven为构建工具,实现了MySQL数据库的插入操作,并利用Log4j...
Struts2+Spring+MyBatis环境搭建 Struts2、Spring 和 MyBatis 是 Java Web 开发中三个非常重要的框架,分别负责 MVC 模式的Presentation层、Business层和Persistence层。Struts2 负责处理用户的请求和响应,Spring ...
- 在`WebContent`目录下新建一个默认JSP页面:`NewFile.jsp`,并打印一行信息:“Hello World!”。 - 重启Tomcat服务器,并在浏览器中输入URL:`http://localhost:8080/ems/NewFile.jsp`,验证输出信息。 2. **...
@Action(value = "helloWorld", results = { @Result(name = "success", location = "helloWorld.jsp") }) public String execute() { return SUCCESS; } } ``` 上述代码定义了一个名为"helloWorld"的Action,当...
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) maven package生成后打包war部署到tomacat测试: http://localhost:8080/oa/rest/hello 数据库为postgresql 9.2,单元测试中有mybatis的数据库...
**步骤5**:在WebContent目录下创建一个简单的JSP页面,如NewFile.jsp,显示"Hello World!"。 **步骤6**:重启Tomcat服务器,并在浏览器中访问新创建的JSP页面,验证环境配置是否成功。 在SSM框架中,Struts2负责...
- 在WebContent目录下创建一个默认的JSP文件NewFile.jsp,并在其中打印出“Hello World!”。 - 在Eclipse中重启Tomcat服务器,并在浏览器中输入URL ***,验证是否能看到正确的输出信息。 此外,还可以配置Tomcat的...
【标题】"mybatis的Helloworld" 在Java开发领域,MyBatis是一个广泛使用的持久层框架,它简化了数据库操作,使开发者能够更方便地进行数据存取。本篇文章将详细解析MyBatis的“Hello World”实例,帮助初学者快速...
- 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(Spring、SpringMVC、MyBatis)框架搭建一个简单的Web应用程序,并实现一个HelloWorld示例。 **1. 导入必要的依赖** - **SpringMVC**: MVC(Model-View-Controller)设计模式的实现之一,...
Spring、SpringMVC和Mybatis是Java开发中最常用的三大框架,它们各自负责应用程序的不同层面:Spring作为基础容器,管理对象的依赖注入;SpringMVC处理Web请求和响应;Mybatis则专注于数据库操作。将这三个框架整合...
【标题】"mybatis_helloworld" 是一个关于MyBatis框架的初级示例项目,它旨在帮助初学者理解和学习如何在实际开发中使用MyBatis。MyBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供...
SSM框架,即Spring、SpringMVC和MyBatis的集成,是Java Web开发中常见的技术栈,尤其在企业级应用中广泛使用。这个压缩包文件"spring4.3.10+springMVC+mybatis Maven框架集成代码"包含了这三个组件的整合示例,且...
<result name="success">/WEB-INF/jsp/helloworld.jsp ``` - **自定义拦截器** - **定义拦截器类**:创建自定义拦截器类,实现`Interceptor`接口。 - **配置拦截器**:在`struts.xml`中配置自定义拦截器...
通过访问 http://localhost:8080/demo/test,验证 "Hello World!" 是否正确显示,证明项目已成功启动并能够处理请求。 5. 配置模块依赖: 模块间依赖关系如下:biz 层依赖 dao 层,web 层依赖 biz 层。在各子模块...
这个"Hello World版Spring和Mybatis框架学习demo"是初学者入门的好起点,它演示了如何快速搭建一个简单的Spring+Mybatis项目,帮助理解这两个框架的基本用法和集成方式。通过这个示例,你可以学习到如何配置和使用这...
至于文件名`helloworld`,这可能是一个入门级别的示例项目,通常会包含基础的Hello World展示,帮助初学者快速理解框架的集成和基本用法。在这样的项目中,你可能找到`struts.xml`、`spring-context.xml`和`mybatis-...
标题 "spring mybatis helloworld" 暗示我们要探讨的是如何在Java环境下使用Spring和MyBatis框架构建一个基础的Hello World应用。Spring是一个全面的、模块化的应用程序框架,而MyBatis则是一个轻量级的持久层框架,...