diff --git a/spring/spring-jdbc-annotation/pom.xml b/spring/spring-jdbc-annotation/pom.xml new file mode 100644 index 0000000..3fb924e --- /dev/null +++ b/spring/spring-jdbc-annotation/pom.xml @@ -0,0 +1,84 @@ + + + 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 + + + + \ No newline at end of file diff --git a/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/bean/Flow.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/bean/Flow.java new file mode 100644 index 0000000..cdebadf --- /dev/null +++ b/spring/spring-jdbc-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-jdbc-annotation/src/main/java/com/heibaiying/bean/Relation.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/bean/Relation.java new file mode 100644 index 0000000..74adb91 --- /dev/null +++ b/spring/spring-jdbc-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-jdbc-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java new file mode 100644 index 0000000..51dd508 --- /dev/null +++ b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/config/DataSourceConfig.java @@ -0,0 +1,31 @@ +package com.heibaiying.config; + +import lombok.Data; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +/** + * @author : heibaiying + * @description : + */ + +@Configuration +@PropertySource(value = "classpath:mysql.properties") +@Data +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-jdbc-annotation/src/main/java/com/heibaiying/config/DispatcherServletInitializer.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/config/DispatcherServletInitializer.java new file mode 100644 index 0000000..7ed14d2 --- /dev/null +++ b/spring/spring-jdbc-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-jdbc-annotation/src/main/java/com/heibaiying/config/ServletConfig.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/config/ServletConfig.java new file mode 100644 index 0000000..b7daa08 --- /dev/null +++ b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/config/ServletConfig.java @@ -0,0 +1,62 @@ +package com.heibaiying.config; + +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.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; + + +/** + * @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(sourceConfig.getDriverClassName()); + dataSource.setUrl(sourceConfig.getUrl()); + dataSource.setUsername(sourceConfig.getUsername()); + dataSource.setPassword(sourceConfig.getPassword()); + return dataSource; + } + + + /** + * 配置jdbcTemplate + * + * @param dataSource 这个参数的名称需要保持和上面方法名一致 才能自动注入,因为 + * 采用@Bean注解生成的bean 默认采用方法名为名称,当然也可以在使用@Bean时指定name属性 + */ + @Bean + public JdbcTemplate jdbcTemplate(DriverManagerDataSource dataSource) { + JdbcTemplate jdbcTemplate = new JdbcTemplate(); + jdbcTemplate.setDataSource(dataSource); + return jdbcTemplate; + } + + /** + * 定义事务管理器 + */ + @Bean + public DataSourceTransactionManager transactionManager() { + DataSourceTransactionManager manager = new DataSourceTransactionManager(); + manager.setDataSource(dataSource()); + return manager; + } + +} diff --git a/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/MysqlDaoImpl.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/MysqlDaoImpl.java new file mode 100644 index 0000000..2e6fa7b --- /dev/null +++ b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/MysqlDaoImpl.java @@ -0,0 +1,42 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Relation; +import com.heibaiying.dao.impl.MysqlDao; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Repository; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ + +@Repository +public class MysqlDaoImpl implements MysqlDao { + + @Autowired + private JdbcTemplate jdbcTemplate; + + /** + * 更多JDBC 的使用可以参考官方文档 + * @see JdbcTemplate + */ + public List get() { + List relations = jdbcTemplate.query("select * from help_keyword where help_keyword_id = ? ", new Object[]{691}, + new RowMapper() { + public Relation mapRow(ResultSet rs, int rowNum) throws SQLException { + Relation relation = new Relation(); + relation.setId(rs.getString("help_keyword_id")); + relation.setName(rs.getString("name")); + return relation; + } + + }); + return relations; + } +} diff --git a/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/OracleDaoImpl.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/OracleDaoImpl.java new file mode 100644 index 0000000..295b97a --- /dev/null +++ b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/OracleDaoImpl.java @@ -0,0 +1,43 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Flow; +import com.heibaiying.dao.impl.OracleDao; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Repository; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ + +@Repository +public class OracleDaoImpl implements OracleDao { + + @Autowired + private JdbcTemplate jdbcTemplate; + + /** + * 更多JDBC 的使用可以参考官方文档 + * @see JdbcTemplate + */ + public List get() { + List flows = jdbcTemplate.query("select * from APEX_030200.WWV_FLOW_CALS where ID = ? ", new Object[]{217584603977429772L}, + new RowMapper() { + public Flow mapRow(ResultSet rs, int rowNum) throws SQLException { + Flow flow = new Flow(); + flow.setId(rs.getLong("ID")); + flow.setFlowId(rs.getLong("FLOW_ID")); + flow.setPlugId(rs.getLong("PLUG_ID")); + return flow; + } + + }); + return flows; + } +} diff --git a/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/impl/MysqlDao.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/impl/MysqlDao.java new file mode 100644 index 0000000..6c34ca4 --- /dev/null +++ b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/impl/MysqlDao.java @@ -0,0 +1,14 @@ +package com.heibaiying.dao.impl; + +import com.heibaiying.bean.Relation; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ + +public interface MysqlDao { + + List get(); +} diff --git a/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/impl/OracleDao.java b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/impl/OracleDao.java new file mode 100644 index 0000000..9eecd9d --- /dev/null +++ b/spring/spring-jdbc-annotation/src/main/java/com/heibaiying/dao/impl/OracleDao.java @@ -0,0 +1,13 @@ +package com.heibaiying.dao.impl; + +import com.heibaiying.bean.Flow; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ +public interface OracleDao { + + List get(); +} diff --git a/spring/spring-jdbc-annotation/src/main/resources/mysql.properties b/spring/spring-jdbc-annotation/src/main/resources/mysql.properties new file mode 100644 index 0000000..e8ab06b --- /dev/null +++ b/spring/spring-jdbc-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-jdbc-annotation/src/main/resources/oracle.properties b/spring/spring-jdbc-annotation/src/main/resources/oracle.properties new file mode 100644 index 0000000..d2e0c50 --- /dev/null +++ b/spring/spring-jdbc-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-jdbc-annotation/src/test/java/com/heibaiying/dao/MysqlDaoTest.java b/spring/spring-jdbc-annotation/src/test/java/com/heibaiying/dao/MysqlDaoTest.java new file mode 100644 index 0000000..ef3b774 --- /dev/null +++ b/spring/spring-jdbc-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.DispatcherServletInitializer; +import com.heibaiying.config.ServletConfig; +import com.heibaiying.dao.impl.MysqlDao; +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.get(); + if (relations != null) { + for (Relation relation : relations) { + System.out.println(relation.getId() + " " + relation.getName()); + } + } + } +} diff --git a/spring/spring-jdbc-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java b/spring/spring-jdbc-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java new file mode 100644 index 0000000..a4cd513 --- /dev/null +++ b/spring/spring-jdbc-annotation/src/test/java/com/heibaiying/dao/OracleDaoTest.java @@ -0,0 +1,39 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Flow; +import com.heibaiying.config.DispatcherServletInitializer; +import com.heibaiying.config.ServletConfig; +import com.heibaiying.dao.impl.OracleDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +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 { + + /*注入接口时: 如果接口有多个实现类 可以用这个指定具体的实现类*/ + @Qualifier("oracleDaoImpl") + @Autowired + private OracleDao oracleDao; + + @Test + public void get() { + List flows = oracleDao.get(); + if (flows != null) { + for (Flow flow : flows) { + System.out.println(flow.getId() + " " + flow.getPlugId()); + } + } + } +} diff --git a/spring/spring-jdbc/pom.xml b/spring/spring-jdbc/pom.xml new file mode 100644 index 0000000..3fb924e --- /dev/null +++ b/spring/spring-jdbc/pom.xml @@ -0,0 +1,84 @@ + + + 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 + + + + \ No newline at end of file diff --git a/spring/spring-jdbc/src/main/java/com/heibaiying/bean/Flow.java b/spring/spring-jdbc/src/main/java/com/heibaiying/bean/Flow.java new file mode 100644 index 0000000..cdebadf --- /dev/null +++ b/spring/spring-jdbc/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-jdbc/src/main/java/com/heibaiying/bean/Relation.java b/spring/spring-jdbc/src/main/java/com/heibaiying/bean/Relation.java new file mode 100644 index 0000000..74adb91 --- /dev/null +++ b/spring/spring-jdbc/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-jdbc/src/main/java/com/heibaiying/dao/MysqlDaoImpl.java b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/MysqlDaoImpl.java new file mode 100644 index 0000000..2e6fa7b --- /dev/null +++ b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/MysqlDaoImpl.java @@ -0,0 +1,42 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Relation; +import com.heibaiying.dao.impl.MysqlDao; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Repository; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ + +@Repository +public class MysqlDaoImpl implements MysqlDao { + + @Autowired + private JdbcTemplate jdbcTemplate; + + /** + * 更多JDBC 的使用可以参考官方文档 + * @see JdbcTemplate + */ + public List get() { + List relations = jdbcTemplate.query("select * from help_keyword where help_keyword_id = ? ", new Object[]{691}, + new RowMapper() { + public Relation mapRow(ResultSet rs, int rowNum) throws SQLException { + Relation relation = new Relation(); + relation.setId(rs.getString("help_keyword_id")); + relation.setName(rs.getString("name")); + return relation; + } + + }); + return relations; + } +} diff --git a/spring/spring-jdbc/src/main/java/com/heibaiying/dao/OracleDaoImpl.java b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/OracleDaoImpl.java new file mode 100644 index 0000000..295b97a --- /dev/null +++ b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/OracleDaoImpl.java @@ -0,0 +1,43 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Flow; +import com.heibaiying.dao.impl.OracleDao; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Repository; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ + +@Repository +public class OracleDaoImpl implements OracleDao { + + @Autowired + private JdbcTemplate jdbcTemplate; + + /** + * 更多JDBC 的使用可以参考官方文档 + * @see JdbcTemplate + */ + public List get() { + List flows = jdbcTemplate.query("select * from APEX_030200.WWV_FLOW_CALS where ID = ? ", new Object[]{217584603977429772L}, + new RowMapper() { + public Flow mapRow(ResultSet rs, int rowNum) throws SQLException { + Flow flow = new Flow(); + flow.setId(rs.getLong("ID")); + flow.setFlowId(rs.getLong("FLOW_ID")); + flow.setPlugId(rs.getLong("PLUG_ID")); + return flow; + } + + }); + return flows; + } +} diff --git a/spring/spring-jdbc/src/main/java/com/heibaiying/dao/impl/MysqlDao.java b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/impl/MysqlDao.java new file mode 100644 index 0000000..6c34ca4 --- /dev/null +++ b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/impl/MysqlDao.java @@ -0,0 +1,14 @@ +package com.heibaiying.dao.impl; + +import com.heibaiying.bean.Relation; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ + +public interface MysqlDao { + + List get(); +} diff --git a/spring/spring-jdbc/src/main/java/com/heibaiying/dao/impl/OracleDao.java b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/impl/OracleDao.java new file mode 100644 index 0000000..9eecd9d --- /dev/null +++ b/spring/spring-jdbc/src/main/java/com/heibaiying/dao/impl/OracleDao.java @@ -0,0 +1,13 @@ +package com.heibaiying.dao.impl; + +import com.heibaiying.bean.Flow; +import java.util.List; + +/** + * @author : heibaiying + * @description : + */ +public interface OracleDao { + + List get(); +} diff --git a/spring/spring-jdbc/src/main/resources/jdbc.properties b/spring/spring-jdbc/src/main/resources/jdbc.properties new file mode 100644 index 0000000..6dadcd3 --- /dev/null +++ b/spring/spring-jdbc/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-jdbc/src/main/resources/springApplication.xml b/spring/spring-jdbc/src/main/resources/springApplication.xml new file mode 100644 index 0000000..0042bd7 --- /dev/null +++ b/spring/spring-jdbc/src/main/resources/springApplication.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring/spring-jdbc/src/main/webapp/WEB-INF/web.xml b/spring/spring-jdbc/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..c5e8f38 --- /dev/null +++ b/spring/spring-jdbc/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-jdbc/src/main/webapp/index.jsp b/spring/spring-jdbc/src/main/webapp/index.jsp new file mode 100644 index 0000000..47961e3 --- /dev/null +++ b/spring/spring-jdbc/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-jdbc/src/test/java/com/heibaiying/dao/MysqlDaoTest.java b/spring/spring-jdbc/src/test/java/com/heibaiying/dao/MysqlDaoTest.java new file mode 100644 index 0000000..340594c --- /dev/null +++ b/spring/spring-jdbc/src/test/java/com/heibaiying/dao/MysqlDaoTest.java @@ -0,0 +1,34 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Relation; +import com.heibaiying.dao.impl.MysqlDao; +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.get(); + if (relations != null) { + for (Relation relation : relations) { + System.out.println(relation.getId() + " " + relation.getName()); + } + } + } +} diff --git a/spring/spring-jdbc/src/test/java/com/heibaiying/dao/OracleDaoTest.java b/spring/spring-jdbc/src/test/java/com/heibaiying/dao/OracleDaoTest.java new file mode 100644 index 0000000..7baf422 --- /dev/null +++ b/spring/spring-jdbc/src/test/java/com/heibaiying/dao/OracleDaoTest.java @@ -0,0 +1,37 @@ +package com.heibaiying.dao; + +import com.heibaiying.bean.Flow; +import com.heibaiying.dao.impl.OracleDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +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 { + + /*注入接口时: 如果接口有多个实现类 可以用这个指定具体的实现类*/ + @Qualifier("oracleDaoImpl") + @Autowired + private OracleDao oracleDao; + + @Test + public void get() { + List flows = oracleDao.get(); + if (flows != null) { + for (Flow flow : flows) { + System.out.println(flow.getId() + " " + flow.getPlugId()); + } + } + } +} diff --git a/spring/springmvc-base-annotation/README.md b/spring/springmvc-base-annotation/README.md index 2cddc2d..e508751 100644 --- a/spring/springmvc-base-annotation/README.md +++ b/spring/springmvc-base-annotation/README.md @@ -402,7 +402,7 @@ public class Programmer { ``` -注:@Data 是lombok包下的注解,用来生成相应的set、get方法和全参、无参构造器,使得类的书写更为简洁。 +注:@Data 是lombok包下的注解,用来生成相应的set、get方法,使得类的书写更为简洁。 2.新建ParamBindController.java 文件 diff --git a/spring/springmvc-base/README.md b/spring/springmvc-base/README.md index 1b08963..a3929f0 100644 --- a/spring/springmvc-base/README.md +++ b/spring/springmvc-base/README.md @@ -394,7 +394,7 @@ public class Programmer { ``` -注:@Data 是lombok包下的注解,用来生成相应的set、get方法和全参、无参构造器,使得类的书写更为简洁。 +注:@Data 是lombok包下的注解,用来生成相应的set、get方法,使得类的书写更为简洁。 2.新建ParamBindController.java 文件 diff --git a/spring/springmvc-base/src/main/webapp/index.jsp b/spring/springmvc-base/src/main/webapp/index.jsp index 8d58dec..47961e3 100644 --- a/spring/springmvc-base/src/main/webapp/index.jsp +++ b/spring/springmvc-base/src/main/webapp/index.jsp @@ -4,6 +4,6 @@ index - INDEX! + hello Spring ! \ No newline at end of file