From 6cd6826468f52d315e1943867e30a2f04b1c1821 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com>
Date: Fri, 21 Dec 2018 17:55:46 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20spring=20mybatis=20?=
=?UTF-8?q?=E6=A0=B7=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
spring/spring-mybatis-annotation/pom.xml | 95 +++++++++++++++++++
.../main/java/com/heibaiying/bean/Flow.java | 18 ++++
.../java/com/heibaiying/bean/Relation.java | 16 ++++
.../heibaiying/config/DataSourceConfig.java | 34 +++++++
.../config/DispatcherServletInitializer.java | 22 +++++
.../com/heibaiying/config/ServletConfig.java | 83 ++++++++++++++++
.../java/com/heibaiying/dao/MysqlDao.java | 17 ++++
.../java/com/heibaiying/dao/OracleDao.java | 16 ++++
.../src/main/resources/mappers/Flow.xml | 11 +++
.../src/main/resources/mappers/Relation.xml | 14 +++
.../src/main/resources/mybatisConfig.xml | 17 ++++
.../src/main/resources/mysql.properties | 5 +
.../src/main/resources/oracle.properties | 5 +
.../java/com/heibaiying/dao/MysqlDaoTest.java | 36 +++++++
.../com/heibaiying/dao/OracleDaoTest.java | 36 +++++++
spring/spring-mybatis/pom.xml | 95 +++++++++++++++++++
.../main/java/com/heibaiying/bean/Flow.java | 18 ++++
.../java/com/heibaiying/bean/Relation.java | 16 ++++
.../java/com/heibaiying/dao/MysqlDao.java | 18 ++++
.../java/com/heibaiying/dao/OracleDao.java | 17 ++++
.../src/main/resources/jdbc.properties | 11 +++
.../src/main/resources/mappers/Flow.xml | 11 +++
.../src/main/resources/mappers/Relation.xml | 14 +++
.../src/main/resources/mybatisConfig.xml | 17 ++++
.../src/main/resources/springApplication.xml | 55 +++++++++++
.../src/main/webapp/WEB-INF/web.xml | 24 +++++
.../spring-mybatis/src/main/webapp/index.jsp | 9 ++
.../java/com/heibaiying/dao/MysqlDaoTest.java | 33 +++++++
.../com/heibaiying/dao/OracleDaoTest.java | 33 +++++++
29 files changed, 796 insertions(+)
create mode 100644 spring/spring-mybatis-annotation/pom.xml
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Flow.java
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Relation.java
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DispatcherServletInitializer.java
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/ServletConfig.java
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/MysqlDao.java
create mode 100644 spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/OracleDao.java
create mode 100644 spring/spring-mybatis-annotation/src/main/resources/mappers/Flow.xml
create mode 100644 spring/spring-mybatis-annotation/src/main/resources/mappers/Relation.xml
create mode 100644 spring/spring-mybatis-annotation/src/main/resources/mybatisConfig.xml
create mode 100644 spring/spring-mybatis-annotation/src/main/resources/mysql.properties
create mode 100644 spring/spring-mybatis-annotation/src/main/resources/oracle.properties
create mode 100644 spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/MysqlDaoTest.java
create mode 100644 spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java
create mode 100644 spring/spring-mybatis/pom.xml
create mode 100644 spring/spring-mybatis/src/main/java/com/heibaiying/bean/Flow.java
create mode 100644 spring/spring-mybatis/src/main/java/com/heibaiying/bean/Relation.java
create mode 100644 spring/spring-mybatis/src/main/java/com/heibaiying/dao/MysqlDao.java
create mode 100644 spring/spring-mybatis/src/main/java/com/heibaiying/dao/OracleDao.java
create mode 100644 spring/spring-mybatis/src/main/resources/jdbc.properties
create mode 100644 spring/spring-mybatis/src/main/resources/mappers/Flow.xml
create mode 100644 spring/spring-mybatis/src/main/resources/mappers/Relation.xml
create mode 100644 spring/spring-mybatis/src/main/resources/mybatisConfig.xml
create mode 100644 spring/spring-mybatis/src/main/resources/springApplication.xml
create mode 100644 spring/spring-mybatis/src/main/webapp/WEB-INF/web.xml
create mode 100644 spring/spring-mybatis/src/main/webapp/index.jsp
create mode 100644 spring/spring-mybatis/src/test/java/com/heibaiying/dao/MysqlDaoTest.java
create mode 100644 spring/spring-mybatis/src/test/java/com/heibaiying/dao/OracleDaoTest.java
diff --git a/spring/spring-mybatis-annotation/pom.xml b/spring/spring-mybatis-annotation/pom.xml
new file mode 100644
index 0000000..123a941
--- /dev/null
+++ b/spring/spring-mybatis-annotation/pom.xml
@@ -0,0 +1,95 @@
+
+
+ 4.0.0
+
+ com.heibaiying
+ spring-jdbc
+ 1.0-SNAPSHOT
+
+ 5.1.3.RELEASE
+
+
+
+
+
+ org.springframework
+ spring-context
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-beans
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-core
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-web
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-webmvc
+ ${spring-base-version}
+
+
+ javax.servlet
+ javax.servlet-api
+ 4.0.1
+ provided
+
+
+ org.projectlombok
+ lombok
+ 1.18.4
+ provided
+
+
+
+ org.springframework
+ spring-jdbc
+ ${spring-base-version}
+
+
+ mysql
+ mysql-connector-java
+ 8.0.13
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.springframework
+ spring-test
+ ${spring-base-version}
+ test
+
+
+ com.oracle
+ ojdbc6
+ 11.2.0.3.0
+
+
+
+ org.mybatis
+ mybatis-spring
+ 1.3.2
+
+
+ org.mybatis
+ mybatis
+ 3.4.6
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Flow.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Flow.java
new file mode 100644
index 0000000..cdebadf
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Flow.java
@@ -0,0 +1,18 @@
+package com.heibaiying.bean;
+
+import lombok.Data;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@Data
+public class Flow {
+
+ private long id;
+
+ private long flowId;
+
+ private long plugId;
+}
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Relation.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Relation.java
new file mode 100644
index 0000000..74adb91
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/bean/Relation.java
@@ -0,0 +1,16 @@
+package com.heibaiying.bean;
+
+import lombok.Data;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+@Data
+public class Relation {
+
+ private String id;
+
+ private String name;
+
+}
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java
new file mode 100644
index 0000000..c435553
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java
@@ -0,0 +1,34 @@
+package com.heibaiying.config;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.core.annotation.Order;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@Configuration
+@PropertySource(value = "classpath:mysql.properties")
+@Data
+@NoArgsConstructor
+public class DataSourceConfig {
+
+ /**
+ * 感觉这种注入的方式并不够好
+ * 没有spring-boot中使用@ConfigurationProperties(prefix = "config")指定前缀注入的方式优雅
+ */
+ @Value("${mysql.driverClassName}")
+ private String driverClassName;
+ @Value("${mysql.url}")
+ private String url;
+ @Value("${mysql.username}")
+ private String username;
+ @Value("${mysql.password}")
+ private String password;
+
+}
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DispatcherServletInitializer.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DispatcherServletInitializer.java
new file mode 100644
index 0000000..7ed14d2
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/DispatcherServletInitializer.java
@@ -0,0 +1,22 @@
+package com.heibaiying.config;
+
+import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
+
+/**
+ * @author : heibaiying
+ */
+
+public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
+
+ protected Class>[] getRootConfigClasses() {
+ return new Class[0];
+ }
+
+ protected Class>[] getServletConfigClasses() {
+ return new Class[]{ServletConfig.class};
+ }
+
+ protected String[] getServletMappings() {
+ return new String[]{"/"};
+ }
+}
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/ServletConfig.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/ServletConfig.java
new file mode 100644
index 0000000..48ffa83
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/config/ServletConfig.java
@@ -0,0 +1,83 @@
+package com.heibaiying.config;
+
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;;
+import org.springframework.context.annotation.DependsOn;
+import org.springframework.core.annotation.Order;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.io.IOException;
+
+
+/**
+ * @author : heibaiying
+ */
+@Configuration
+@EnableTransactionManagement // 开启声明式事务处理 等价于xml中
+@ComponentScan(basePackages = {"com.heibaiying.*"})
+public class ServletConfig implements WebMvcConfigurer {
+
+ @Autowired
+ private DataSourceConfig sourceConfig;
+
+ /**
+ * 配置数据源
+ */
+ @Bean
+ public DriverManagerDataSource dataSource() {
+ DriverManagerDataSource dataSource = new DriverManagerDataSource();
+ dataSource.setDriverClassName("com.mysql.jdbc.Driver");
+ dataSource.setUrl("jdbc:mysql://localhost:3306/mysql");
+ dataSource.setUsername("root");
+ dataSource.setPassword("root");
+ return dataSource;
+ }
+
+
+ /**
+ * 配置mybatis 会话工厂
+ *
+ * @param dataSource 这个参数的名称需要保持和上面方法名一致 才能自动注入,因为
+ * 采用@Bean注解生成的bean 默认采用方法名为名称,当然也可以在使用@Bean时指定name属性
+ */
+ @Bean
+ public SqlSessionFactoryBean sessionFactoryBean(DriverManagerDataSource dataSource) throws IOException {
+ SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+ sessionFactoryBean.setDataSource(dataSource);
+ PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+ sessionFactoryBean.setMapperLocations(resolver.getResources("classpath*:/mappers/**/*.xml"));
+ sessionFactoryBean.setConfigLocation(resolver.getResource("classpath:mybatisConfig.xml"));
+ return sessionFactoryBean;
+ }
+
+ /**
+ * 配置mybatis 会话工厂
+ */
+ @Bean
+ public MapperScannerConfigurer MapperScannerConfigurer() {
+ MapperScannerConfigurer configurer = new MapperScannerConfigurer();
+ configurer.setSqlSessionFactoryBeanName("sessionFactoryBean");
+ configurer.setBasePackage("com.heibaiying.dao");
+ return configurer;
+ }
+
+ /**
+ * 定义事务管理器
+ */
+ @Bean
+ public DataSourceTransactionManager transactionManager() {
+ DataSourceTransactionManager manager = new DataSourceTransactionManager();
+ manager.setDataSource(dataSource());
+ return manager;
+ }
+
+}
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/MysqlDao.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/MysqlDao.java
new file mode 100644
index 0000000..c89e188
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/MysqlDao.java
@@ -0,0 +1,17 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Relation;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@Mapper
+public interface MysqlDao {
+
+ List queryById(String id);
+}
diff --git a/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/OracleDao.java b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/OracleDao.java
new file mode 100644
index 0000000..62cbff2
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/java/com/heibaiying/dao/OracleDao.java
@@ -0,0 +1,16 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Flow;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+@Mapper
+public interface OracleDao {
+
+ List queryById(long id);
+}
diff --git a/spring/spring-mybatis-annotation/src/main/resources/mappers/Flow.xml b/spring/spring-mybatis-annotation/src/main/resources/mappers/Flow.xml
new file mode 100644
index 0000000..b2f83a2
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/resources/mappers/Flow.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis-annotation/src/main/resources/mappers/Relation.xml b/spring/spring-mybatis-annotation/src/main/resources/mappers/Relation.xml
new file mode 100644
index 0000000..e882900
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/resources/mappers/Relation.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis-annotation/src/main/resources/mybatisConfig.xml b/spring/spring-mybatis-annotation/src/main/resources/mybatisConfig.xml
new file mode 100644
index 0000000..d60965c
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/resources/mybatisConfig.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring/spring-mybatis-annotation/src/main/resources/mysql.properties b/spring/spring-mybatis-annotation/src/main/resources/mysql.properties
new file mode 100644
index 0000000..e8ab06b
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/resources/mysql.properties
@@ -0,0 +1,5 @@
+# mysql ݿ
+mysql.driverClassName=com.mysql.jdbc.Driver
+mysql.url=jdbc:mysql://localhost:3306/mysql
+mysql.username=root
+mysql.password=root
diff --git a/spring/spring-mybatis-annotation/src/main/resources/oracle.properties b/spring/spring-mybatis-annotation/src/main/resources/oracle.properties
new file mode 100644
index 0000000..d2e0c50
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/main/resources/oracle.properties
@@ -0,0 +1,5 @@
+# oracle ݿ
+oracle.driverClassName=oracle.jdbc.driver.OracleDriver
+oracle.url=jdbc:oracle:thin:@//IPַ:˿ں/ݿʵ
+oracle.username=û
+oracle.password=
\ No newline at end of file
diff --git a/spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/MysqlDaoTest.java b/spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/MysqlDaoTest.java
new file mode 100644
index 0000000..99dc047
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/MysqlDaoTest.java
@@ -0,0 +1,36 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Relation;
+import com.heibaiying.config.DataSourceConfig;
+import com.heibaiying.config.DispatcherServletInitializer;
+import com.heibaiying.config.ServletConfig;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration(classes = {DispatcherServletInitializer.class, ServletConfig.class})
+public class MysqlDaoTest {
+
+ @Autowired
+ private MysqlDao mysqlDao;
+
+ @Test
+ public void get() {
+ List relations = mysqlDao.queryById("691");
+ if (relations != null) {
+ for (Relation relation : relations) {
+ System.out.println(relation.getId() + " " + relation.getName());
+ }
+ }
+ }
+}
diff --git a/spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java b/spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java
new file mode 100644
index 0000000..38a03d6
--- /dev/null
+++ b/spring/spring-mybatis-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java
@@ -0,0 +1,36 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Flow;
+import com.heibaiying.config.DataSourceConfig;
+import com.heibaiying.config.DispatcherServletInitializer;
+import com.heibaiying.config.ServletConfig;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration(classes = {DispatcherServletInitializer.class, ServletConfig.class})
+public class OracleDaoTest {
+
+ @Autowired
+ private OracleDao oracleDao;
+
+ @Test
+ public void get() {
+ List flows = oracleDao.queryById(217584603977429772L);
+ if (flows != null) {
+ for (Flow flow : flows) {
+ System.out.println(flow.getId() + " " + flow.getPlugId());
+ }
+ }
+ }
+}
diff --git a/spring/spring-mybatis/pom.xml b/spring/spring-mybatis/pom.xml
new file mode 100644
index 0000000..123a941
--- /dev/null
+++ b/spring/spring-mybatis/pom.xml
@@ -0,0 +1,95 @@
+
+
+ 4.0.0
+
+ com.heibaiying
+ spring-jdbc
+ 1.0-SNAPSHOT
+
+ 5.1.3.RELEASE
+
+
+
+
+
+ org.springframework
+ spring-context
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-beans
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-core
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-web
+ ${spring-base-version}
+
+
+ org.springframework
+ spring-webmvc
+ ${spring-base-version}
+
+
+ javax.servlet
+ javax.servlet-api
+ 4.0.1
+ provided
+
+
+ org.projectlombok
+ lombok
+ 1.18.4
+ provided
+
+
+
+ org.springframework
+ spring-jdbc
+ ${spring-base-version}
+
+
+ mysql
+ mysql-connector-java
+ 8.0.13
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.springframework
+ spring-test
+ ${spring-base-version}
+ test
+
+
+ com.oracle
+ ojdbc6
+ 11.2.0.3.0
+
+
+
+ org.mybatis
+ mybatis-spring
+ 1.3.2
+
+
+ org.mybatis
+ mybatis
+ 3.4.6
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/main/java/com/heibaiying/bean/Flow.java b/spring/spring-mybatis/src/main/java/com/heibaiying/bean/Flow.java
new file mode 100644
index 0000000..cdebadf
--- /dev/null
+++ b/spring/spring-mybatis/src/main/java/com/heibaiying/bean/Flow.java
@@ -0,0 +1,18 @@
+package com.heibaiying.bean;
+
+import lombok.Data;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@Data
+public class Flow {
+
+ private long id;
+
+ private long flowId;
+
+ private long plugId;
+}
diff --git a/spring/spring-mybatis/src/main/java/com/heibaiying/bean/Relation.java b/spring/spring-mybatis/src/main/java/com/heibaiying/bean/Relation.java
new file mode 100644
index 0000000..74adb91
--- /dev/null
+++ b/spring/spring-mybatis/src/main/java/com/heibaiying/bean/Relation.java
@@ -0,0 +1,16 @@
+package com.heibaiying.bean;
+
+import lombok.Data;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+@Data
+public class Relation {
+
+ private String id;
+
+ private String name;
+
+}
diff --git a/spring/spring-mybatis/src/main/java/com/heibaiying/dao/MysqlDao.java b/spring/spring-mybatis/src/main/java/com/heibaiying/dao/MysqlDao.java
new file mode 100644
index 0000000..f32534e
--- /dev/null
+++ b/spring/spring-mybatis/src/main/java/com/heibaiying/dao/MysqlDao.java
@@ -0,0 +1,18 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Relation;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@Mapper
+public interface MysqlDao {
+
+ List queryById(String id);
+}
diff --git a/spring/spring-mybatis/src/main/java/com/heibaiying/dao/OracleDao.java b/spring/spring-mybatis/src/main/java/com/heibaiying/dao/OracleDao.java
new file mode 100644
index 0000000..2409955
--- /dev/null
+++ b/spring/spring-mybatis/src/main/java/com/heibaiying/dao/OracleDao.java
@@ -0,0 +1,17 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Flow;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+@Mapper
+public interface OracleDao {
+
+ List queryById(long id);
+}
diff --git a/spring/spring-mybatis/src/main/resources/jdbc.properties b/spring/spring-mybatis/src/main/resources/jdbc.properties
new file mode 100644
index 0000000..6dadcd3
--- /dev/null
+++ b/spring/spring-mybatis/src/main/resources/jdbc.properties
@@ -0,0 +1,11 @@
+# mysql ݿ
+mysql.driverClassName=com.mysql.jdbc.Driver
+mysql.url=jdbc:mysql://localhost:3306/mysql
+mysql.username=root
+mysql.password=root
+
+# oracle ݿ
+oracle.driverClassName=oracle.jdbc.driver.OracleDriver
+oracle.url=jdbc:oracle:thin:@//IPַ:˿ں/ݿʵ
+oracle.username=û
+oracle.password=
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/main/resources/mappers/Flow.xml b/spring/spring-mybatis/src/main/resources/mappers/Flow.xml
new file mode 100644
index 0000000..b2f83a2
--- /dev/null
+++ b/spring/spring-mybatis/src/main/resources/mappers/Flow.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/main/resources/mappers/Relation.xml b/spring/spring-mybatis/src/main/resources/mappers/Relation.xml
new file mode 100644
index 0000000..e882900
--- /dev/null
+++ b/spring/spring-mybatis/src/main/resources/mappers/Relation.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/main/resources/mybatisConfig.xml b/spring/spring-mybatis/src/main/resources/mybatisConfig.xml
new file mode 100644
index 0000000..d60965c
--- /dev/null
+++ b/spring/spring-mybatis/src/main/resources/mybatisConfig.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring/spring-mybatis/src/main/resources/springApplication.xml b/spring/spring-mybatis/src/main/resources/springApplication.xml
new file mode 100644
index 0000000..a9088a4
--- /dev/null
+++ b/spring/spring-mybatis/src/main/resources/springApplication.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/main/webapp/WEB-INF/web.xml b/spring/spring-mybatis/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..c5e8f38
--- /dev/null
+++ b/spring/spring-mybatis/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ springMvc
+ org.springframework.web.servlet.DispatcherServlet
+
+ contextConfigLocation
+ classpath:springApplication.xml
+
+ 1
+
+
+
+ springMvc
+ /
+
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/main/webapp/index.jsp b/spring/spring-mybatis/src/main/webapp/index.jsp
new file mode 100644
index 0000000..47961e3
--- /dev/null
+++ b/spring/spring-mybatis/src/main/webapp/index.jsp
@@ -0,0 +1,9 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ index
+
+
+ hello Spring !
+
+
\ No newline at end of file
diff --git a/spring/spring-mybatis/src/test/java/com/heibaiying/dao/MysqlDaoTest.java b/spring/spring-mybatis/src/test/java/com/heibaiying/dao/MysqlDaoTest.java
new file mode 100644
index 0000000..93324ff
--- /dev/null
+++ b/spring/spring-mybatis/src/test/java/com/heibaiying/dao/MysqlDaoTest.java
@@ -0,0 +1,33 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Relation;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration({"classpath:springApplication.xml"})
+public class MysqlDaoTest {
+
+ @Autowired
+ private MysqlDao mysqlDao;
+
+ @Test
+ public void get() {
+ List relations = mysqlDao.queryById("691");
+ if (relations != null) {
+ for (Relation relation : relations) {
+ System.out.println(relation.getId() + " " + relation.getName());
+ }
+ }
+ }
+}
diff --git a/spring/spring-mybatis/src/test/java/com/heibaiying/dao/OracleDaoTest.java b/spring/spring-mybatis/src/test/java/com/heibaiying/dao/OracleDaoTest.java
new file mode 100644
index 0000000..380b141
--- /dev/null
+++ b/spring/spring-mybatis/src/test/java/com/heibaiying/dao/OracleDaoTest.java
@@ -0,0 +1,33 @@
+package com.heibaiying.dao;
+
+import com.heibaiying.bean.Flow;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+/**
+ * @author : heibaiying
+ * @description :
+ */
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration({"classpath:springApplication.xml"})
+public class OracleDaoTest {
+
+ @Autowired
+ private OracleDao oracleDao;
+
+ @Test
+ public void get() {
+ List flows = oracleDao.queryById(217584603977429772L);
+ if (flows != null) {
+ for (Flow flow : flows) {
+ System.out.println(flow.getId() + " " + flow.getPlugId());
+ }
+ }
+ }
+}