ssm整合快速入门程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssm整合快速入门程序相关的知识,希望对你有一定的参考价值。
整合基础说明
spring 是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
好了不废话了,直接开始入门程序吧,jar包下载,mysql数据库语句下载
首先看看创建目录
然后开始进行编码整合了。
1.在po包中创建一个Items.java
package cn.my.ssm.po; import java.util.Date; public class Items { private Integer id; private String name; private Float price; private String pic; private Date createtime; private String detail; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public Float getPrice() { return price; } public void setPrice(Float price) { this.price = price; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic == null ? null : pic.trim(); } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail == null ? null : detail.trim(); } @Override public String toString() { return "Items [id=" + id + ", name=" + name + ", price=" + price + ", pic=" + pic + ", createtime=" + createtime + ", detail=" + detail + "]"; } }
2.在mapper包中创建一个ItemMapper.java
package cn.my.ssm.mapper; import cn.my.ssm.po.Items; public interface ItemsMapper { List<Items> selectFind(Items items); }
3.在sqlmap包中创建一个Items.xml映射文件,mybatis的映射配置我就不多说了,不太清楚的可以看看前面章节mybatis入门程序
<?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"> <!-- 为了分辨多个mybatis的映射文件同名问题所以使用接口包名作为空间 --> <mapper namespace="cn.my.ssm.mapper.ItemsMapper"> <sql id="items_where"> <if test="items != null"> <if test="items.name != null and items.name != ‘‘"> and name like ‘%${items.name}%‘ </if> </if> </sql> <select id="selectFind" parameterType="cn.my.ssm.po.ItemsQueryVo" resultType="cn.my.ssm.po.Items"> SELECT * FROM items <where> <include refid="items_where"></include> </where> </select> </mapper>
4.在mybatis包中创建一个SqlMapConfig.xml文件
<?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> <mappers> <mapper resource="sqlmap/Items.xml"/> </mappers> </configuration>
5.配置数据源我记不住单词,都是直接找jar,然后双击点开找到该类中的属性
5.1.配置数据源
5.2配置sqlsessionfactory工厂,同样的操作
5.3.配置映射mapper接口
5.4spring配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "> <!-- 读取数据源连接配置文件 --> <context:property-placeholder location="classpath:db.properties"/> <!-- 1.配置dataSource数据源,我用的是commons-dbcp-1.2.2.jar连接 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> <property name="maxActive" value="30"></property> <property name="maxIdle" value="5"></property> </bean> <!-- 2.配置工厂SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 3.配置映射mapper接口 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 这里我们使用组件扫描 --> <property name="basePackage" value="cn.my.ssm.mapper"></property> <!-- 注意这里一定要使用sqlSessionFactoryBeanName不能使用sqlSessionFactory属性, 要不然读取不到数据源的db.properties文件 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> </beans>
首先看看spring和mybatis是否整合成功
package cn.my.ssm.test; import java.util.List; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import cn.my.ssm.mapper.ItemsMapper; import cn.my.ssm.po.Items; public class TestItem { ApplicationContext context; @Before public void setUp(){ context = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-dao.xml"); } @Test public void testFindById() throws Exception{ ItemsMapper userMapper = (ItemsMapper) context.getBean("itemsMapper"); List<Items> list = userMapper.selectFind(null); System.out.println(list); } }
运行结果
[Items [id=1, name=台式机, price=3000.0, pic=null, createtime=Tue Oct 03 23:22:36 CST 2017, detail=该电脑质量非常好!!!!111], Items [id=2, name=笔记本, price=7000.0, pic=null, createtime=Tue Oct 03 23:23:06 CST 2017, detail=笔记本性能好,质量好!!!!!], Items [id=3, name=背包, price=1200.0, pic=null, createtime=Tue Oct 03 23:23:21 CST 2017, detail=名牌背包,容量大质量好!!!!]]
以上就动态代理整合, 如果大家有疑问的可以加群号581591235或者留言。或者加我微信群,dcc939705214加时备注是从哪里看到的
以上是关于ssm整合快速入门程序的主要内容,如果未能解决你的问题,请参考以下文章