├── .classpath
├── .project
├── .settings
├── .jsdtscope
├── org.eclipse.core.resources.prefs
├── org.eclipse.jdt.core.prefs
├── org.eclipse.m2e.core.prefs
├── org.eclipse.wst.common.component
├── org.eclipse.wst.common.project.facet.core.prefs.xml
├── org.eclipse.wst.common.project.facet.core.xml
├── org.eclipse.wst.jsdt.ui.superType.container
└── org.eclipse.wst.jsdt.ui.superType.name
├── README.md
├── mybatis-generator
├── cmd.txt
├── createTable.sql
├── generator.xml
├── mybatis-generator-core-1.3.2.jar
└── rml
│ ├── dao
│ └── MUserMapper.java
│ ├── mapping
│ └── MUserMapper.xml
│ └── model
│ └── MUser.java
├── mybatis.log
├── pom.xml
├── src
├── main
│ ├── java
│ │ └── rml
│ │ │ ├── controller
│ │ │ └── MUserController.java
│ │ │ ├── dao
│ │ │ └── MUserMapper.java
│ │ │ ├── mapping
│ │ │ └── MUserMapper.xml
│ │ │ ├── model
│ │ │ └── MUser.java
│ │ │ └── service
│ │ │ ├── MUserServiceI.java
│ │ │ └── MUserServiceImpl.java
│ ├── resources
│ │ ├── config.properties
│ │ ├── generatorConfig.xml
│ │ ├── log4j.properties
│ │ ├── spring-mvc.xml
│ │ ├── spring-mybatis.xml
│ │ └── spring.xml
│ └── webapp
│ │ ├── META-INF
│ │ └── MANIFEST.MF
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ ├── addUser.jsp
│ │ ├── index.jsp
│ │ ├── listUser.jsp
│ │ └── updateUser.jsp
└── test
│ └── java
│ └── TestMybatis.java
└── target
├── classes
├── config.properties
├── log4j.properties
├── rml
│ ├── controller
│ │ └── MUserController.class
│ ├── dao
│ │ └── MUserMapper.class
│ ├── mapping
│ │ └── MUserMapper.xml
│ ├── model
│ │ └── MUser.class
│ └── service
│ │ ├── MUserServiceI.class
│ │ └── MUserServiceImpl.class
├── spring-mvc.xml
├── spring-mybatis.xml
└── spring.xml
├── m2e-jee
└── web-resources
│ └── META-INF
│ ├── MANIFEST.MF
│ └── maven
│ └── zhibing_mybatis
│ └── zhibing_mybatis
│ ├── pom.properties
│ └── pom.xml
└── test-classes
└── TestMybatis.class
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | zhibing_mybatis
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.wst.jsdt.core.javascriptValidator
10 |
11 |
12 |
13 |
14 | org.eclipse.jdt.core.javabuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.wst.common.project.facet.core.builder
20 |
21 |
22 |
23 |
24 | org.eclipse.wst.validation.validationbuilder
25 |
26 |
27 |
28 |
29 | com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator
30 |
31 |
32 |
33 |
34 | org.eclipse.m2e.core.maven2Builder
35 |
36 |
37 |
38 |
39 | com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder
40 |
41 |
42 |
43 |
44 |
45 | org.eclipse.m2e.core.maven2Nature
46 | org.eclipse.jem.workbench.JavaEMFNature
47 | org.eclipse.wst.common.modulecore.ModuleCoreNature
48 | org.eclipse.wst.common.project.facet.core.nature
49 | org.eclipse.jdt.core.javanature
50 | org.eclipse.wst.jsdt.core.jsNature
51 |
52 |
53 |
--------------------------------------------------------------------------------
/.settings/.jsdtscope:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding//src/main/java=UTF-8
3 | encoding//src/main/resources=UTF-8
4 | encoding//src/test/java=UTF-8
5 | encoding//src/test/resources=UTF-8
6 | encoding/=UTF-8
7 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
4 | org.eclipse.jdt.core.compiler.compliance=1.6
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
8 | org.eclipse.jdt.core.compiler.source=1.6
9 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.common.component:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.common.project.facet.core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.jsdt.ui.superType.container:
--------------------------------------------------------------------------------
1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.jsdt.ui.superType.name:
--------------------------------------------------------------------------------
1 | Window
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | SpringMVC+Spring+MyBatis
2 | ========================
3 |
4 | Frameworks and Tools
5 | -----------------------------------
6 | * Java&IDE: JDK6 MyEclipse
7 | * Backend: SpringMVC3.2.9 Spring3.2.9 MyBatis3.1.1 (Configured by annotation)
8 | * Database: Oracle10g
9 | * Web Server: Tomcat 7
10 | * Build Tool: Maven
11 | * Other: Druid(database connection pool) JUnit Log4j Jackson FastJson
12 |
13 | System Features
14 | -----------------------------------
15 | * Integration of Spring core, Spring MVC, and MyBatis
16 | * Management of users through CRUD interface
17 |
18 | Code Generator for MyBatis
19 | -----------------------------------
20 | * You can find code generator from [the link](http://mybatis.github.io/generator/)
21 | * In the folder of mybatis-generator, you can find generator.xml and mybatis-generator-core-1.3.2.jar.
22 | * Download these two files in the folder of C:\mybatis, and run the following command:
23 | java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
24 | * Then Java POJOs that match the table structure will be generated.
25 |
26 | About
27 | -----------------------------------
28 | * [Github link](https://github.com/ZhibingXie)
29 | * [Linkedin link](http://www.linkedin.com/in/zhibingxie)
30 |
--------------------------------------------------------------------------------
/mybatis-generator/cmd.txt:
--------------------------------------------------------------------------------
1 | java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
--------------------------------------------------------------------------------
/mybatis-generator/createTable.sql:
--------------------------------------------------------------------------------
1 | create table muser(
2 | id varchar2(36) primary key,
3 | name varchar2(36),
4 | age number(8),
5 | address varchar2(36)
6 | );
--------------------------------------------------------------------------------
/mybatis-generator/generator.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/mybatis-generator/mybatis-generator-core-1.3.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/mybatis-generator/mybatis-generator-core-1.3.2.jar
--------------------------------------------------------------------------------
/mybatis-generator/rml/dao/MUserMapper.java:
--------------------------------------------------------------------------------
1 | package rml.dao;
2 |
3 | import rml.model.MUser;
4 |
5 | public interface MUserMapper {
6 | int deleteByPrimaryKey(String id);
7 |
8 | int insert(MUser record);
9 |
10 | int insertSelective(MUser record);
11 |
12 | MUser selectByPrimaryKey(String id);
13 |
14 | int updateByPrimaryKeySelective(MUser record);
15 |
16 | int updateByPrimaryKey(MUser record);
17 | }
--------------------------------------------------------------------------------
/mybatis-generator/rml/mapping/MUserMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | ID, NAME, AGE, ADDRESS
12 |
13 |
19 |
20 | delete from MUSER
21 | where ID = #{id,jdbcType=VARCHAR}
22 |
23 |
24 | insert into MUSER (ID, NAME, AGE,
25 | ADDRESS)
26 | values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=DECIMAL},
27 | #{address,jdbcType=VARCHAR})
28 |
29 |
30 | insert into MUSER
31 |
32 |
33 | ID,
34 |
35 |
36 | NAME,
37 |
38 |
39 | AGE,
40 |
41 |
42 | ADDRESS,
43 |
44 |
45 |
46 |
47 | #{id,jdbcType=VARCHAR},
48 |
49 |
50 | #{name,jdbcType=VARCHAR},
51 |
52 |
53 | #{age,jdbcType=DECIMAL},
54 |
55 |
56 | #{address,jdbcType=VARCHAR},
57 |
58 |
59 |
60 |
61 | update MUSER
62 |
63 |
64 | NAME = #{name,jdbcType=VARCHAR},
65 |
66 |
67 | AGE = #{age,jdbcType=DECIMAL},
68 |
69 |
70 | ADDRESS = #{address,jdbcType=VARCHAR},
71 |
72 |
73 | where ID = #{id,jdbcType=VARCHAR}
74 |
75 |
76 | update MUSER
77 | set NAME = #{name,jdbcType=VARCHAR},
78 | AGE = #{age,jdbcType=DECIMAL},
79 | ADDRESS = #{address,jdbcType=VARCHAR}
80 | where ID = #{id,jdbcType=VARCHAR}
81 |
82 |
--------------------------------------------------------------------------------
/mybatis-generator/rml/model/MUser.java:
--------------------------------------------------------------------------------
1 | package rml.model;
2 |
3 | public class MUser {
4 | private String id;
5 |
6 | private String name;
7 |
8 | private Integer age;
9 |
10 | private String address;
11 |
12 | public String getId() {
13 | return id;
14 | }
15 |
16 | public void setId(String id) {
17 | this.id = id == null ? null : id.trim();
18 | }
19 |
20 | public String getName() {
21 | return name;
22 | }
23 |
24 | public void setName(String name) {
25 | this.name = name == null ? null : name.trim();
26 | }
27 |
28 | public Integer getAge() {
29 | return age;
30 | }
31 |
32 | public void setAge(Integer age) {
33 | this.age = age;
34 | }
35 |
36 | public String getAddress() {
37 | return address;
38 | }
39 |
40 | public void setAddress(String address) {
41 | this.address = address == null ? null : address.trim();
42 | }
43 | }
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
3 | 4.0.0
4 | zhibing_mybatis
5 | zhibing_mybatis
6 | 0.0.1-SNAPSHOT
7 | war
8 | zhibing_mybatis
9 |
10 |
11 | UTF-8
12 |
13 | 3.2.9.RELEASE
14 | 3.1.1
15 | 1.1.1
16 |
17 |
18 |
19 |
20 | org.springframework
21 | spring-core
22 | ${spring.version}
23 |
24 |
25 | org.springframework
26 | spring-webmvc
27 | ${spring.version}
28 |
29 |
30 | org.springframework
31 | spring-test
32 | ${spring.version}
33 |
34 |
35 | org.mybatis
36 | mybatis
37 | ${mybatis.version}
38 |
39 |
40 | org.mybatis
41 | mybatis-spring
42 | ${mybatisspring.version}
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | junit
54 | junit
55 | 4.11
56 | test
57 |
58 |
59 | com.alibaba
60 | druid
61 | 0.2.26
62 |
63 |
64 | org.aspectj
65 | aspectjweaver
66 | 1.8.1
67 |
68 |
69 | javax.servlet
70 | jstl
71 | 1.2
72 |
73 |
74 | javax.servlet
75 | servlet-api
76 | 3.0-alpha-1
77 |
78 |
79 | javax.servlet.jsp
80 | jsp-api
81 | 2.2.1-b03
82 | provided
83 |
84 |
85 | commons-fileupload
86 | commons-fileupload
87 | 1.3.1
88 |
89 |
90 | log4j
91 | log4j
92 | 1.2.17
93 |
94 |
95 | com.alibaba
96 | fastjson
97 | 1.1.41
98 |
99 |
100 | org.codehaus.jackson
101 | jackson-mapper-asl
102 | 1.9.13
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 | org.mybatis.generator
111 | mybatis-generator-maven-plugin
112 | 1.3.2
113 |
114 | true
115 | true
116 |
117 |
118 |
119 |
120 |
121 | mysql
122 | mysql-connector-java
123 | 5.1.35
124 |
125 |
126 |
127 |
128 |
129 | maven-compiler-plugin
130 | 2.3.2
131 |
132 | 1.6
133 | 1.6
134 |
135 |
136 |
137 | maven-war-plugin
138 | 2.2
139 |
140 |
141 |
142 | false
143 |
144 |
145 |
146 |
147 | zhibing_mybatis
148 |
149 |
--------------------------------------------------------------------------------
/src/main/java/rml/controller/MUserController.java:
--------------------------------------------------------------------------------
1 | package rml.controller;
2 |
3 | import java.util.List;
4 | import java.util.UUID;
5 |
6 | import javax.servlet.http.HttpServletRequest;
7 |
8 | import org.springframework.beans.factory.annotation.Autowired;
9 | import org.springframework.stereotype.Controller;
10 | import org.springframework.web.bind.annotation.RequestMapping;
11 |
12 | import rml.model.MUser;
13 | import rml.service.MUserServiceI;
14 |
15 | @Controller
16 | @RequestMapping("/muserController")
17 | public class MUserController {
18 |
19 | private MUserServiceI muserService;
20 |
21 | public MUserServiceI getMuserService() {
22 | return muserService;
23 | }
24 |
25 | @Autowired
26 | public void setMuserService(MUserServiceI muserService) {
27 | this.muserService = muserService;
28 | }
29 |
30 | @RequestMapping(value="/listUser")
31 | public String listUser(HttpServletRequest request) {
32 |
33 | List list = muserService.getAll();
34 | request.setAttribute("userlist", list);
35 | return "listUser";
36 | }
37 |
38 | @RequestMapping(value="/addUser")
39 | public String addUser(MUser muser) {
40 |
41 | String id = UUID.randomUUID().toString();
42 | muser.setId(id);
43 | muserService.insert(muser);
44 | return "redirect:/muserController/listUser.do";
45 | }
46 |
47 | @RequestMapping(value="/deleteUser")
48 | public String deleteUser(String id) {
49 |
50 | muserService.delete(id);
51 | return "redirect:/muserController/listUser.do";
52 | }
53 |
54 | @RequestMapping(value="/updateUserUI")
55 | public String updateUserUI(String id, HttpServletRequest request) {
56 |
57 | MUser muser = muserService.selectByPrimaryKey(id);
58 | request.setAttribute("user", muser);
59 | return "updateUser";
60 | }
61 |
62 | @RequestMapping(value="/updateUser")
63 | public String updateUser(MUser muser) {
64 |
65 | muserService.update(muser);
66 | return "redirect:/muserController/listUser.do";
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/main/java/rml/dao/MUserMapper.java:
--------------------------------------------------------------------------------
1 | package rml.dao;
2 |
3 | import java.util.List;
4 |
5 | import rml.model.MUser;
6 |
7 | public interface MUserMapper {
8 | int deleteByPrimaryKey(String id);
9 |
10 | int insert(MUser record);
11 |
12 | int insertSelective(MUser record);
13 |
14 | MUser selectByPrimaryKey(String id);
15 |
16 | int updateByPrimaryKeySelective(MUser record);
17 |
18 | int updateByPrimaryKey(MUser record);
19 |
20 | List getAll();
21 | }
--------------------------------------------------------------------------------
/src/main/java/rml/mapping/MUserMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | ID, NAME, AGE, ADDRESS
12 |
13 |
19 |
20 | delete from MUSER
21 | where ID = #{id,jdbcType=VARCHAR}
22 |
23 |
24 | insert into MUSER (ID, NAME, AGE,
25 | ADDRESS)
26 | values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=DECIMAL},
27 | #{address,jdbcType=VARCHAR})
28 |
29 |
30 | insert into MUSER
31 |
32 |
33 | ID,
34 |
35 |
36 | NAME,
37 |
38 |
39 | AGE,
40 |
41 |
42 | ADDRESS,
43 |
44 |
45 |
46 |
47 | #{id,jdbcType=VARCHAR},
48 |
49 |
50 | #{name,jdbcType=VARCHAR},
51 |
52 |
53 | #{age,jdbcType=DECIMAL},
54 |
55 |
56 | #{address,jdbcType=VARCHAR},
57 |
58 |
59 |
60 |
61 | update MUSER
62 |
63 |
64 | NAME = #{name,jdbcType=VARCHAR},
65 |
66 |
67 | AGE = #{age,jdbcType=DECIMAL},
68 |
69 |
70 | ADDRESS = #{address,jdbcType=VARCHAR},
71 |
72 |
73 | where ID = #{id,jdbcType=VARCHAR}
74 |
75 |
76 | update MUSER
77 | set NAME = #{name,jdbcType=VARCHAR},
78 | AGE = #{age,jdbcType=DECIMAL},
79 | ADDRESS = #{address,jdbcType=VARCHAR}
80 | where ID = #{id,jdbcType=VARCHAR}
81 |
82 |
83 |
86 |
--------------------------------------------------------------------------------
/src/main/java/rml/model/MUser.java:
--------------------------------------------------------------------------------
1 | package rml.model;
2 |
3 | public class MUser {
4 | private String id;
5 |
6 | private String name;
7 |
8 | private Integer age;
9 |
10 | private String address;
11 |
12 | public String getId() {
13 | return id;
14 | }
15 |
16 | public void setId(String id) {
17 | this.id = id == null ? null : id.trim();
18 | }
19 |
20 | public String getName() {
21 | return name;
22 | }
23 |
24 | public void setName(String name) {
25 | this.name = name == null ? null : name.trim();
26 | }
27 |
28 | public Integer getAge() {
29 | return age;
30 | }
31 |
32 | public void setAge(Integer age) {
33 | this.age = age;
34 | }
35 |
36 | public String getAddress() {
37 | return address;
38 | }
39 |
40 | public void setAddress(String address) {
41 | this.address = address == null ? null : address.trim();
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/rml/service/MUserServiceI.java:
--------------------------------------------------------------------------------
1 | package rml.service;
2 |
3 | import java.util.List;
4 |
5 | import rml.model.MUser;
6 |
7 | public interface MUserServiceI {
8 |
9 | List getAll();
10 |
11 | MUser selectByPrimaryKey(String id);
12 |
13 | int insert(MUser muser);
14 |
15 | int update(MUser muser);
16 |
17 | int delete(String id);
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/rml/service/MUserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package rml.service;
2 |
3 | import java.util.List;
4 |
5 | import org.springframework.beans.factory.annotation.Autowired;
6 | import org.springframework.stereotype.Service;
7 |
8 | import rml.dao.MUserMapper;
9 | import rml.model.MUser;
10 |
11 | @Service("muserService")
12 | public class MUserServiceImpl implements MUserServiceI{
13 |
14 | private MUserMapper muserMapper;
15 |
16 | public MUserMapper getMuserMapper() {
17 | return muserMapper;
18 | }
19 |
20 | @Autowired
21 | public void setMuserMapper(MUserMapper muserMapper) {
22 | this.muserMapper = muserMapper;
23 | }
24 |
25 | @Override
26 | public List getAll() {
27 |
28 | return muserMapper.getAll();
29 | }
30 |
31 | @Override
32 | public int insert(MUser muser) {
33 |
34 | return muserMapper.insert(muser);
35 | }
36 |
37 | @Override
38 | public int update(MUser muser) {
39 |
40 | return muserMapper.updateByPrimaryKey(muser);
41 | }
42 |
43 | @Override
44 | public int delete(String id) {
45 |
46 | return muserMapper.deleteByPrimaryKey(id);
47 | }
48 |
49 | @Override
50 | public MUser selectByPrimaryKey(String id) {
51 |
52 | return muserMapper.selectByPrimaryKey(id);
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/resources/config.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/src/main/resources/config.properties
--------------------------------------------------------------------------------
/src/main/resources/generatorConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
24 |
25 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
54 |
55 |
--------------------------------------------------------------------------------
/src/main/resources/log4j.properties:
--------------------------------------------------------------------------------
1 | log4j.rootLogger=DEBUG,Console,File
2 |
3 | log4j.appender.Console=org.apache.log4j.ConsoleAppender
4 | log4j.appender.Console.Target=System.out
5 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout
6 | log4j.appender.Console.layout.ConversionPattern=[%c]%m%n
7 |
8 | log4j.appender.File=org.apache.log4j.RollingFileAppender
9 | log4j.appender.File.File=mybatis.log
10 | log4j.appender.File.MaxFileSize=10MB
11 | log4j.appender.File.Threshold=ALL
12 | log4j.appender.File.layout=org.apache.log4j.PatternLayout
13 | log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
--------------------------------------------------------------------------------
/src/main/resources/spring-mvc.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | text/html;charset=UTF-8
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
29 |
30 |
31 |
32 | UTF-8
33 |
34 |
35 | 10485760
36 |
37 |
38 | 4096
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/src/main/resources/spring-mybatis.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/src/main/resources/spring.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/main/webapp/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path:
3 |
4 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | zhibing_mybatis
4 |
5 |
6 | contextConfigLocation
7 | classpath:spring.xml,classpath:spring-mybatis.xml
8 |
9 |
10 |
11 | encodingFilter
12 | org.springframework.web.filter.CharacterEncodingFilter
13 |
14 | encoding
15 | UTF-8
16 |
17 |
18 |
19 | encodingFilter
20 | /*
21 |
22 |
23 |
24 | spring listener
25 | org.springframework.web.context.ContextLoaderListener
26 |
27 |
28 |
29 | spring mvc servlet
30 | springmvc
31 | org.springframework.web.servlet.DispatcherServlet
32 |
33 | springmvc config
34 | contextConfigLocation
35 | classpath:spring-mvc.xml
36 |
37 | 1
38 |
39 |
40 | springmvc
41 | *.do
42 |
43 |
44 |
45 | index.html
46 | index.htm
47 | index.jsp
48 |
49 |
--------------------------------------------------------------------------------
/src/main/webapp/addUser.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 | <%
3 | String path = request.getContextPath();
4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 | %>
6 |
7 |
8 |
9 | My JSP 'addUser.jsp' starting page
10 |
11 |
12 |
13 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/main/webapp/index.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2 | <%
3 | String path = request.getContextPath();
4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 | %>
6 |
7 |
8 |
9 |
10 |
11 |
12 | My JSP 'index.jsp' starting page
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 | Spring core + Spring MVC + MyBatis
25 |
26 | User List
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/main/webapp/listUser.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3 | <%
4 | String path = request.getContextPath();
5 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6 | %>
7 |
8 |
9 |
10 |
11 |
12 | User list
13 |
14 |
15 | UserList
16 | Add User
17 |
18 |
19 | Id |
20 | Name |
21 | Age |
22 | Address |
23 | Delete |
24 | Update |
25 |
26 |
27 |
28 | ${user.id } |
29 | ${user.name } |
30 | ${user.age } |
31 | ${user.address } |
32 | Delete |
33 | Update |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/main/webapp/updateUser.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 | <%
3 | String path = request.getContextPath();
4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 | %>
6 |
7 |
8 |
9 | My JSP 'updateUser.jsp' starting page
10 |
11 |
12 |
13 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/src/test/java/TestMybatis.java:
--------------------------------------------------------------------------------
1 | import java.util.List;
2 |
3 | import org.apache.log4j.Logger;
4 | import org.junit.Test;
5 | import org.junit.runner.RunWith;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.test.context.ContextConfiguration;
8 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
9 |
10 | import rml.model.MUser;
11 | import rml.service.MUserServiceI;
12 |
13 | import com.alibaba.fastjson.JSON;
14 |
15 | @RunWith(SpringJUnit4ClassRunner.class) // = extends SpringJUnit4ClassRunner
16 | @ContextConfiguration(locations = { "classpath:spring.xml", "classpath:spring-mybatis.xml" })
17 | public class TestMybatis {
18 |
19 | private static final Logger logger = Logger.getLogger(TestMybatis.class);
20 |
21 | private MUserServiceI muserService;
22 |
23 | public MUserServiceI getMuserService() {
24 | return muserService;
25 | }
26 |
27 | @Autowired
28 | public void setMuserService(MUserServiceI muserService) {
29 | this.muserService = muserService;
30 | }
31 |
32 | @Test
33 | public void test1() {
34 |
35 | List list = muserService.getAll();
36 | logger.info(JSON.toJSONStringWithDateFormat(list, "yyyy-MM-dd HH:mm:ss"));
37 | }
38 |
39 | //@Test
40 | public void test2() {
41 |
42 | MUser muser = new MUser();
43 | muser.setId("0000");
44 | muser.setName("aaaa");
45 | muser.setAge(1234);
46 | muser.setAddress("ABCD");
47 | int i = muserService.insert(muser);
48 | logger.info(JSON.toJSONStringWithDateFormat("add "+i, "yyyy-MM-dd HH:mm:ss"));
49 | }
50 |
51 | //@Test
52 | public void test3() {
53 |
54 | MUser muser = new MUser();
55 | muser.setId("0000");
56 | muser.setName("bbbb");
57 | muser.setAge(1234);
58 | muser.setAddress("ABCD");
59 | int i = muserService.update(muser);
60 | logger.info(JSON.toJSONStringWithDateFormat("update " +i, "yyyy-MM-dd HH:mm:ss"));
61 | }
62 |
63 | //@Test
64 | public void test4() {
65 |
66 | MUser muser = new MUser();
67 | muser.setId("0000");
68 | muser.setName("bbbb");
69 | muser.setAge(1234);
70 | muser.setAddress("ABCD");
71 | int i = muserService.delete("0000");
72 | logger.info(JSON.toJSONStringWithDateFormat("delete "+i, "yyyy-MM-dd HH:mm:ss"));
73 | }
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/target/classes/config.properties:
--------------------------------------------------------------------------------
1 | hibernate.dialect=org.hibernate.dialect.OracleDialect
2 | driverClassName=oracle.jdbc.driver.OracleDriver
3 | validationQuery=SELECT 1 FROM DUAL
4 | jdbc_url=jdbc:oracle:thin:@localhost:1521:orcl
5 | jdbc_username=scott
6 | jdbc_password=oracle
--------------------------------------------------------------------------------
/target/classes/log4j.properties:
--------------------------------------------------------------------------------
1 | log4j.rootLogger=DEBUG,Console,File
2 |
3 | log4j.appender.Console=org.apache.log4j.ConsoleAppender
4 | log4j.appender.Console.Target=System.out
5 | log4j.appender.Console.layout=org.apache.log4j.PatternLayout
6 | log4j.appender.Console.layout.ConversionPattern=[%c]%m%n
7 |
8 | log4j.appender.File=org.apache.log4j.RollingFileAppender
9 | log4j.appender.File.File=mybatis.log
10 | log4j.appender.File.MaxFileSize=10MB
11 | log4j.appender.File.Threshold=ALL
12 | log4j.appender.File.layout=org.apache.log4j.PatternLayout
13 | log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
--------------------------------------------------------------------------------
/target/classes/rml/controller/MUserController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/target/classes/rml/controller/MUserController.class
--------------------------------------------------------------------------------
/target/classes/rml/dao/MUserMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/target/classes/rml/dao/MUserMapper.class
--------------------------------------------------------------------------------
/target/classes/rml/mapping/MUserMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | ID, NAME, AGE, ADDRESS
12 |
13 |
19 |
20 | delete from MUSER
21 | where ID = #{id,jdbcType=VARCHAR}
22 |
23 |
24 | insert into MUSER (ID, NAME, AGE,
25 | ADDRESS)
26 | values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=DECIMAL},
27 | #{address,jdbcType=VARCHAR})
28 |
29 |
30 | insert into MUSER
31 |
32 |
33 | ID,
34 |
35 |
36 | NAME,
37 |
38 |
39 | AGE,
40 |
41 |
42 | ADDRESS,
43 |
44 |
45 |
46 |
47 | #{id,jdbcType=VARCHAR},
48 |
49 |
50 | #{name,jdbcType=VARCHAR},
51 |
52 |
53 | #{age,jdbcType=DECIMAL},
54 |
55 |
56 | #{address,jdbcType=VARCHAR},
57 |
58 |
59 |
60 |
61 | update MUSER
62 |
63 |
64 | NAME = #{name,jdbcType=VARCHAR},
65 |
66 |
67 | AGE = #{age,jdbcType=DECIMAL},
68 |
69 |
70 | ADDRESS = #{address,jdbcType=VARCHAR},
71 |
72 |
73 | where ID = #{id,jdbcType=VARCHAR}
74 |
75 |
76 | update MUSER
77 | set NAME = #{name,jdbcType=VARCHAR},
78 | AGE = #{age,jdbcType=DECIMAL},
79 | ADDRESS = #{address,jdbcType=VARCHAR}
80 | where ID = #{id,jdbcType=VARCHAR}
81 |
82 |
83 |
86 |
--------------------------------------------------------------------------------
/target/classes/rml/model/MUser.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/target/classes/rml/model/MUser.class
--------------------------------------------------------------------------------
/target/classes/rml/service/MUserServiceI.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/target/classes/rml/service/MUserServiceI.class
--------------------------------------------------------------------------------
/target/classes/rml/service/MUserServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/target/classes/rml/service/MUserServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/spring-mvc.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | text/html;charset=UTF-8
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
29 |
30 |
31 |
32 | UTF-8
33 |
34 |
35 | 10485760
36 |
37 |
38 | 4096
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/target/classes/spring-mybatis.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/target/classes/spring.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/target/m2e-jee/web-resources/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Build-Jdk: 1.6.0_43
3 | Built-By: Administrator
4 | Created-By: Maven Integration for Eclipse
5 |
6 |
--------------------------------------------------------------------------------
/target/m2e-jee/web-resources/META-INF/maven/zhibing_mybatis/zhibing_mybatis/pom.properties:
--------------------------------------------------------------------------------
1 | #Generated by Maven Integration for Eclipse
2 | #Fri Jul 04 23:09:46 EDT 2014
3 | version=0.0.1-SNAPSHOT
4 | groupId=zhibing_mybatis
5 | m2e.projectName=zhibing_mybatis
6 | m2e.projectLocation=C\:\\WorkspaceMyEclipse\\zhibing_mybatis
7 | artifactId=zhibing_mybatis
8 |
--------------------------------------------------------------------------------
/target/m2e-jee/web-resources/META-INF/maven/zhibing_mybatis/zhibing_mybatis/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | zhibing_mybatis
4 | zhibing_mybatis
5 | 0.0.1-SNAPSHOT
6 | war
7 | zhibing_mybatis
8 |
9 |
10 | UTF-8
11 |
12 | 3.2.9.RELEASE
13 | 3.1.1
14 | 1.1.1
15 |
16 |
17 |
18 |
19 | org.springframework
20 | spring-core
21 | ${spring.version}
22 |
23 |
24 | org.springframework
25 | spring-webmvc
26 | ${spring.version}
27 |
28 |
29 | org.springframework
30 | spring-test
31 | ${spring.version}
32 |
33 |
34 | org.mybatis
35 | mybatis
36 | ${mybatis.version}
37 |
38 |
39 | org.mybatis
40 | mybatis-spring
41 | ${mybatisspring.version}
42 |
43 |
44 | com.oracle
45 | ojdbc14
46 | 10.2.0.1.0
47 |
48 |
49 | junit
50 | junit
51 | 4.11
52 | test
53 |
54 |
55 | com.alibaba
56 | druid
57 | 0.2.26
58 |
59 |
60 | org.aspectj
61 | aspectjweaver
62 | 1.8.1
63 |
64 |
65 | javax.servlet
66 | jstl
67 | 1.2
68 |
69 |
70 | javax.servlet
71 | servlet-api
72 | 3.0-alpha-1
73 |
74 |
75 | javax.servlet.jsp
76 | jsp-api
77 | 2.2.1-b03
78 | provided
79 |
80 |
81 | commons-fileupload
82 | commons-fileupload
83 | 1.3.1
84 |
85 |
86 | log4j
87 | log4j
88 | 1.2.17
89 |
90 |
91 | com.alibaba
92 | fastjson
93 | 1.1.41
94 |
95 |
96 | org.codehaus.jackson
97 | jackson-mapper-asl
98 | 1.9.13
99 |
100 |
101 |
102 |
103 |
104 |
105 | maven-compiler-plugin
106 | 2.3.2
107 |
108 | 1.6
109 | 1.6
110 |
111 |
112 |
113 | maven-war-plugin
114 | 2.2
115 |
116 | 3.0
117 | false
118 |
119 |
120 |
121 |
122 | zhibing_mybatis
123 |
124 |
--------------------------------------------------------------------------------
/target/test-classes/TestMybatis.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KevinXie0131/SpringMVC-Spring-MyBatis/bc91ee490846c6471000167eddfe951171badd6e/target/test-classes/TestMybatis.class
--------------------------------------------------------------------------------