使用maven 一步一步搭建Spring+mybatis环境
来源:互联网 发布:网络直播需要哪些设备 编辑:程序博客网 时间:2024/05/22 08:21
本文章适合初学者学习 spring mybatis的一个操作 指导
首先看一下项目整体架构
看看这个项目是不是你想要的如果不是,就不用跟我这篇博客浪费时间了
- 从spring的配置文件开始讲起
applicationConetxt.xml
<?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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p" 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.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 1.采用注释的方式配置bean --> <context:annotation-config /> <!-- 2.配置要扫描的包 --> <context:component-scan base-package="com.l"></context:component-scan> <!-- 3.加载 jdbc.properties 配置文件 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> </bean> <!-- 4.配置数据源 这里用的是阿里巴巴的德鲁伊 也可以配置成别的 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close" init-method="init" p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url}" p:connectionProperties="druid.stat.slowSqlMillis=1000;druid.stat.logSlowSql=true" p:username="${jdbc.name}" p:password="${jdbc.pass}" p:minIdle="30" p:maxActive="200" p:poolPreparedStatements="true" p:maxPoolPreparedStatementPerConnectionSize="20" p:initialSize="100" p:maxWait="60000" p:testWhileIdle="true" p:validationQuery="select 1" p:timeBetweenEvictionRunsMillis="60000" > <description>数据源配置</description> </bean> <!-- 5.Session工厂 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis.xml" /> </bean> <!-- 6. 配置SqlSessionTemplate 为了程序中调用使用--> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> </beans>
- mybatis的配置文件
<?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 alias="personal" type="com.l.models.User"/> </typeAliases> <!-- 指定映射文件 这个文件就是你sql脚本所在的文件 可以配置多个 --> <mappers> <mapper resource="sqlmap/Usersmapping.xml" /> </mappers> </configuration>
- Usersmapping.xml
<?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"> <!--命名空间可以指向具体的 dao接口这样可以不写实现类自动调用 --> <mapper namespace="com.darren.daointerface"> <cache /> <select id="queryById" resultType="personal" parameterType="int"> SELECT UID, USERNAME, PASSWORD FROM USERS WHERE UID = #{id} </select> </mapper>
- QuerUser.java
这个就是个servlet 测试用的 模拟页面上点击一个按钮
就是从 spring 的容器里面 拿出来一个 service
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub ServletContext servletContext = this.getServletContext(); WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext); UserService user= (UserService) context.getBean("userService"); user.queryone(1); }
- UserServiceImpl.java
UserService 这个接口就不写了,这里起了个名字 跟上述servelet相呼应上
注入进去了一个Dao层,调用方法 在控制台输出结果
package com.l.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.l.daointerface.UserDao;import com.l.models.User;@Service(value="userService")public class UserServiceImpl implements UserService { @Autowired UserDao userDao; public void queryone(int id) { System.out.println("开始查询 " + id); User usr = userDao.queryById(id); System.out.println(usr.toString()); }}
- UserDaoImpl
接口就不写了,把在配置文件里面刚刚写的 template注入进去(spring就是封装了一个一个 template),之后调用selectone方法 ,第一个参数是 sql名字 第二个参数是传入的参数
@Repositorypublic class UserDaoImpl implements UserDao { @Autowired private SqlSessionTemplate sqlSessionTemplate; public User queryById(int id) { return (User) sqlSessionTemplate.selectOne("queryById", id); } }
- 测试
我不太喜欢junit 所以就是直接部署在tomcat中 访问 那个servelet的地址
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicationContext.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <description></description> <display-name>QueryUser</display-name> <servlet-name>QueryUser</servlet-name> <servlet-class>com.l.controller.QueryUser</servlet-class> </servlet> <servlet-mapping> <servlet-name>QueryUser</servlet-name> <url-pattern>/QueryUser</url-pattern> </servlet-mapping></web-app>
在浏览器输入 http://127.0.0.1:8080/mevandemo2/QueryUser
能看见输出的结果和数据库的结果是一样的 说明就完成了
- pom文件参考
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!-- 添加spring-context包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!-- 添加spring-tx包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!-- 添加spring-jdbc包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!-- 为了方便进行单元测试,添加spring-test包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!--添加spring-web包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!--添加aspectjweaver包 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.5</version> </dependency> <!-- 添加mybatis的核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!-- 添加mybatis与Spring整合的核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> <!-- 添加druid连接池包 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.12</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
阅读全文
0 0
- 使用maven 一步一步搭建Spring+mybatis环境
- Maven+Spring+SpringMVC+MyBatis搭建环境心得
- maven+spring+springMVC+mybatis环境搭建
- 搭建maven+spring+freemaker+mybatis环境之一
- STS +Maven+ SpringMVC+Spring+Mybatis 搭建环境
- Idea+Maven+Spring+SpringMVC+MyBatis环境搭建
- Spring+Mybatis+SpringMVC+Maven+MySql环境搭建
- Spring+SpringMVC+Mybatis 一步一步搭建
- maven+Spring+SpringMVC+mybatis+mybatis-generator 搭建SSM开发环境
- 使用maven搭建SpringMVC+MyBatis开发环境
- 使用IDEA Maven搭建mybatis环境
- 1.Maven 搭建Struts、spring、mybatis框架-安装Maven环境
- Maven搭建Spring+Struts2+Mybatis项目(一) Maven环境
- 使用Maven搭建Spring+SpringMVC+Mybatis项目
- mybatis+maven 环境搭建
- 【一步一步】Spring 源码环境搭建
- 【一步一步】Spring 源码环境搭建
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- 交换两个变量的值,不使用第三个变量的方法及实现
- 文章标题
- Android开发如何写出优雅的代码
- Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者
- Unity3d shader 教程一 准备
- 使用maven 一步一步搭建Spring+mybatis环境
- PL/SQL Developer 中文乱码解决
- 对于python setup.py install安装的包如何卸载
- (转)听赌徒谈风险:没犯任何错误照样输个精光
- 电商6.18-it系统实战
- unity光照系统-反射探头Reflection Probe
- group_concat函数详解
- shutdown(),shutdown()
- idea 2017 破解 可以使用