Spring+SpringMVC+Mybatis整合篇
在这里推荐大家有事儿没事逛一下GitHub总会有很多信息好玩的项目被你发现.
进入正题
一、添加依赖
添加相关依赖,在这里某些依赖可能用不上(可以注释掉),但是希望有精力的话都去了解一下,许多在工作中都会用上,学无止境~
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.songci
mytest-root
pom
1.0-SNAPSHOT
mytest-model
mytest-dao
mytest-service
mytest-web
UTF-8
4.0.6.RELEASE
1.0.5
5.1.30
3.2.7
1.2.2
1.6.6
1.2.12
1.9.13
1.2
1.3.1
1.9
3.3
4.1.2
1.6.12
3.3.0
1.4
1.16.18
2.2.4
junit
junit
3.8.1
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-orm
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis.spring.version}
mysql
mysql-connector-java
${mysql.connector.version}
com.alibaba
druid
${druid.version}
org.codehaus.jackson
jackson-mapper-asl
${jackson.version}
com.fasterxml.jackson.core
jackson-core
2.1.0
com.fasterxml.jackson.core
jackson-databind
2.1.0
com.fasterxml.jackson.core
jackson-annotations
2.1.0
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
javax.servlet
jstl
${jstl.version}
javax.servlet
javax.servlet-api
3.1.0
commons-fileupload
commons-fileupload
${commons.fileupload.version}
org.apache.httpcomponents
httpclient
${httpclient.version}
commons-codec
commons-codec
${commons.codec.version}
commons-net
commons-net
${commons.net.version}
commons-logging
commons-logging
1.1.3
commons-collections
commons-collections
3.2.1
commons-dbcp
commons-dbcp
${commons-dbcp.version}
org.aspectj
aspectjweaver
${aspectj.version}
org.aspectj
aspectjrt
${aspectj.version}
二、下载相关依赖Jar
只要点击install就会帮你下载相关依赖并放到本地仓库
三、创建相关类和映射文件
model
创建Student类
package com.songci.mytest_one.model;
/**
* Created by songl on 2017/8/8.
*/
public class Student {
private Integer id;
private String name;//姓名
private Boolean sex;//性别
private String address;//地址
public Integer getId(){return id;}
public String getName(){return name;}
public Boolean getSex(){return sex;}
public String getAddress(){return address;}
public void setId(Integer id){this.id = id;}
public void setName(String name){this.name = name;}
public void setSex(Boolean sex){this.sex = sex;}
public void setAddress(String address){this.address = address;}
@Override
public String toString() {
return "Student : id:"+this.id+" name:"+this.name+" sex:"+this.sex+" address:"+this.address;
}
}
dao
然后在mytest-dao下创建包package com.songci.mytest_one.dao并在该包下创建StudentDao和base这个包,在base包下创建baseDao
定义BaseDao
package com.songci.mytest_one.dao.base;
import java.util.List;
/**
* Created by songl on 2017/8/8.
*/
public interface BaseDao {
public Boolean insert(T var);
public Boolean delete(T var);
public Boolean update(T var);
public List select(T var);
}
StudentDao继承BaseDao其他方法可以根据需求再添加
package com.songci.mytest_one.dao;
import com.songci.mytest_one.dao.base.BaseDao;
import com.songci.mytest_one.model.Student;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by songl on 2017/8/8.
*/
@Repository
public interface StudentDao extends BaseDao {
}
StudentMapper.xml
INSERT t_student(id,name,sex,address) VALUES (#{id},#{name},#{sex},#{address})
DELETE FROM t_student WHERE id=#{id}
UPDATE t_student
name=#{name},
sex=#{sex},
address=#{address}
WHERE id=#{id} ;
SELECT * FROM t_student
id=#{id}
AND name=#{name}
AND sex=#{sex}
AND address=#{address}
service
创建StudentService接口
package com.songci.mytest_one.service;
import com.songci.mytest_one.model.Student;
import java.util.List;
/**
* Created by songl on 2017/8/8.
*/
public interface StudentService {
/**
* 添加学生
* @param student
* @return
*/
Boolean addStudent(Student student);
/**
* 根据ID删除学生
* @param id
* @return
*/
Boolean deleteStudentById(Integer id);
/**
* 根据ID修改学生信息
* @param student
* @return
*/
Boolean updateStudentById(Student student);
/**
* 按条件查找所有学生
* @param student
* @return
*/
List findAllStudent(Student student);
}
创建实现类StudentServiceImpl
package com.songci.mytest_one.service.impl;
import com.songci.mytest_one.dao.StudentDao;
import com.songci.mytest_one.model.Student;
import com.songci.mytest_one.service.StudentService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* Created by songl on 2017/8/8.
*/
@Service("StudentService")
public class StudentServiceImpl implements StudentService{
@Resource
private StudentDao studentDao;
public Boolean addStudent(Student student) {
return studentDao.insert(student);
}
public Boolean deleteStudentById(Integer id) {
Student student=new Student();
student.setId(id);
return studentDao.delete(student);
}
public Boolean updateStudentById(Student student) {
return studentDao.update(student);
}
public List findAllStudent(Student student) {
return studentDao.select(student);
}
}
相关代码在GitHub上,包括数据库sql文件
将持续更新 ~~~
未完待续~~~