springmvc与mysql实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
摘要:本文主要講了如何使用Maven來搭建Spring+Mybatis+SpringMVC+MySql的搭建實例,文章寫得很詳細,有代碼有圖片,最后也帶有運行的效果。
一、準(zhǔn)備工作
1. 首先創(chuàng)建一個表:
CREATE?TABLE?`t_user`?(
`USER_ID`?int(11)?NOT?NULL?AUTO_INCREMENT,
`USER_NAME`?char(30)?NOT?NULL,
`USER_PASSWORD`?char(10)?NOT?NULL,
`USER_EMAIL`?char(30)?NOT?NULL,
PRIMARY?KEY?(`USER_ID`),
KEY?`IDX_NAME`?(`USER_NAME`)
)?ENGINE=InnoDB?AUTO_INCREMENT=11?DEFAULT?CHARSET=utf8
隨便插入一些數(shù)據(jù):
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(1,?'林炳文',?'1234567@',?'ling20081005@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(2,?'evan',?'123',?'fff@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(3,?'kaka',?'cadg',?'fwsfg@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(4,?'simle',?'cscs',?'fsaf@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(5,?'arthur',?'csas',?'fsaff@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(6,?'小德',?'yuh78',?'fdfas@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(7,?'小小',?'cvff',?'fsaf@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(8,?'林林之家',?'gvv',?'lin@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(9,?'林炳文Evankaka',?'dfsc',?'ling2008@126.com');
INSERT?INTO?t_user?(USER_ID,?USER_NAME,?USER_PASSWORD,?USER_EMAIL)?VALUES?(10,?'apple',?'uih6',?'ff@qq.com');
二、工程創(chuàng)建
1、Maven工程創(chuàng)建
(1)新建
(2)選擇快速框架
(3)輸出項目名,包,記得選war(表示web項目,以后可以spingMVC連起來用)
(4)創(chuàng)建好之后
目錄如下:
(5)檢查下
這三個地方JDK的版本一定要一樣!!!!
三、sping+mybatis配置
1、整個工程目錄如下:
2、POM文件
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.lin
ssm_project
0.0.1-SNAPSHOT
war
3.2.8.RELEASE
1.6.6
1.2.12
4.10
3.2.1
org.springframework
spring-core
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-web
${spring.version}
junit
junit
${junit.version}
test
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.springframework
spring-test
${spring.version}
test
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.0
mysql
mysql-connector-java
5.1.29
3、java代碼-------src/main/java
目錄如下:
(1)User.java
對應(yīng)數(shù)據(jù)庫中表的字段,放在src/main/java下的包com.lin.domain
package?com.lin.domain;
/**
*?User映射類
*
*?@author?linbingwen
*?@time?2015.5.15
*/
public?class?User?{
private?Integer?userId;
private?String?userName;
private?String?userPassword;
private?String?userEmail;
public?Integer?getUserId()?{
return?userId;
}
public?void?setUserId(Integer?userId)?{
this.userId?=?userId;
}
public?String?getUserName()?{
return?userName;
}
public?void?setUserName(String?userName)?{
this.userName?=?userName;
}
public?String?getUserPassword()?{
return?userPassword;
}
public?void?setUserPassword(String?userPassword)?{
this.userPassword?=?userPassword;
}
public?String?getUserEmail()?{
return?userEmail;
}
public?void?setUserEmail(String?userEmail)?{
this.userEmail?=?userEmail;
}
@Override
public?String?toString()?{
return?"User?[userId="?+?userId?+?",?userName="?+?userName
+?",?userPassword="?+?userPassword?+?",?userEmail="?+?userEmail
+?"]";
}
}
(2)UserDao.java
Dao接口類,用來對應(yīng)mapper文件。放在src/main/java下的包com.lin.dao,內(nèi)容如下:
package?com.lin.dao;
import?com.lin.domain.User;
/**
*?功能概要:User的DAO類
*
*?@author?linbingwen
*?@since?2015年9月28日
*/
public?interface?UserDao?{
/**
*
*?@author?linbingwen
*?@since?2015年9月28日
*?@param?userId
*?@return
*/
public?User?selectUserById(Integer?userId);
}
(2)UserService.java和UserServiceImpl.java
service接口類和實現(xiàn)類,放在src/main/java下的包com.lin.service,內(nèi)容如下:
UserService.java
package?com.lin.service;
import?org.springframework.stereotype.Service;
import?com.lin.domain.User;
/**
*?功能概要:UserService接口類
*
*?@author?linbingwen
*?@since??2015年9月28日
*/
public?interface?UserService?{
User?selectUserById(Integer?userId);
}
UserServiceImpl.java
package?com.lin.service;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.stereotype.Service;
import?com.lin.dao.UserDao;
import?com.lin.domain.User;
/**
*?功能概要:UserService實現(xiàn)類
*
*?@author?linbingwen
*?@since??2015年9月28日
*/
@Service
public?class?UserServiceImpl?implements?UserService{
@Autowired
private?UserDao?userDao;
public?User?selectUserById(Integer?userId)?{
return?userDao.selectUserById(userId);
}
}
(4)mapper文件
用來和dao文件對應(yīng),放在src/main/java下的com.lin.mapper包下
mapper?PUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
SELECT?*?FROM?t_user?WHERE?USER_ID?=?#{userId}
4、資源配置-------src/main/resources
目錄如下:
(1)mybatis配置文件
這里沒有什么內(nèi)容,因為都被放到application.xml中去了,放在src/main/resources下的mybatis文件夾下
mybatis-config.xml內(nèi)容如下:
configuration?PUBLIC?"-//mybatis.org//DTD?Config?3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
(2)數(shù)據(jù)源配置jdbc.properties
放在src/main/resources下的propertiesy文件夾下
jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/learning
jdbc_username=root
jdbc_password=christmas258@
(3)Spring配置
這是最重要的:application.xml內(nèi)容如下
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"
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/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
classpath:properties/*.properties
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
${jdbc_driverClassName}
${jdbc_url}
${jdbc_username}
${jdbc_password}
value="com.lin.dao"?/>
(4)日志打印log4j.properties
就放在src/main/resources
log4j.rootLogger=DEBUG,Console,Stdout
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d?[%t]?%-5p?[%c]?-?%m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.appender.Stdout?=?org.apache.log4j.DailyRollingFileAppender
log4j.appender.Stdout.File?=?E://logs/log.log
log4j.appender.Stdout.Append?=?true
log4j.appender.Stdout.Threshold?=?DEBUG
log4j.appender.Stdout.layout?=?org.apache.log4j.PatternLayout
log4j.appender.Stdout.layout.ConversionPattern?=?%-d{yyyy-MM-dd?HH:mm:ss}??[?%t:%r?]?-?[?%p?]??%m%n
四、單元測試
上面的配置完好,接下來就是測驗成功
整個目錄 如下:
(1)測試基類
package?com.lin.baseTest;
import?org.junit.runner.RunWith;
import?org.slf4j.Logger;
import?org.slf4j.LoggerFactory;
import?org.springframework.test.context.ContextConfiguration;
import?org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import?org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
*?功能概要:
*
*?@author?linbingwen
*?@since??2015年9月28日
*/
//指定bean注入的配置文件
@ContextConfiguration(locations?=?{?"classpath:application.xml"?})
//使用標(biāo)準(zhǔn)的JUnit?@RunWith注釋來告訴JUnit使用Spring?TestRunner
@RunWith(SpringJUnit4ClassRunner.class)
public?abstract?class?SpringTestCase?extends?AbstractJUnit4SpringContextTests{
protected?Logger?logger?=?LoggerFactory.getLogger(getClass());
}
(2)測試類
package?com.lin.service;
import?org.apache.log4j.Logger;
import?org.junit.Test;
import?org.springframework.beans.factory.annotation.Autowired;
import?com.lin.baseTest.SpringTestCase;
import?com.lin.domain.User;
/**
*?功能概要:UserService單元測試
*
*?@author?linbingwen
*?@since??2015年9月28日
*/
public?class?UserServiceTest?extends?SpringTestCase?{
@Autowired
private?UserService?userService;
Logger?logger?=?Logger.getLogger(UserServiceTest.class);
@Test
public?void?selectUserByIdTest(){
User?user?=?userService.selectUserById(10);
logger.debug("查找結(jié)果"?+?user);
}
}
選中selectUserByIdTest,然后右鍵如下運行
輸出結(jié)果:
重要打印的結(jié)果
這里
2015-09-28?15:20:15,129?[main]?DEBUG?[com.lin.dao.UserDao.selectUserById]?-?==>??Preparing:?SELECT?*?FROM?t_user?WHERE?USER_ID?=??
2015-09-28?15:20:15,160?[main]?DEBUG?[com.lin.dao.UserDao.selectUserById]?-?==>?Parameters:?10(Integer)
2015-09-28?15:20:15,160?[main]?DEBUG?[org.mybatis.spring.SqlSessionUtils]?-?Closing?non?transactional?SqlSession?[org.apache.ibatis.session.defaults.DefaultSqlSession@6b64bff9]
2015-09-28?15:20:15,160?[main]?DEBUG?[org.springframework.jdbc.datasource.DataSourceUtils]?-?Returning?JDBC?Connection?to?DataSource
2015-09-28?15:20:15,160?[main]?DEBUG?[com.lin.service.UserServiceTest]?-?查找結(jié)果User?[userId=10,?userName=apple,?userPassword=uih6,?userEmail=ff@qq.com]
數(shù)據(jù)庫:
程序成功運行,并且結(jié)果正確!
到這里配置好spring+mybatis+mysql!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
=====================================================
這里開始添加spirngMVC,并轉(zhuǎn)換maven工程為web項目
五、轉(zhuǎn)換web工程
接上面的工程接著說,此時要加spingMVC之前,工程得再稍微轉(zhuǎn)換下
此時webapp下的結(jié)果還沒有顯示出來,因為此時我們還沒有配置此的項目為web項目
總結(jié)
以上是生活随笔為你收集整理的springmvc与mysql实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: https脚本调linux执行器,lin
- 下一篇: HTML+CSS+JS实现 ❤️ 团队人