Prechádzať zdrojové kódy

2024年4月16日 01点58分

Starlight-0208 5 mesiacov pred
rodič
commit
c07a70b673

+ 15 - 0
pom.xml

@@ -24,12 +24,27 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid</artifactId>
             <version>1.1.16</version>
         </dependency>
         <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis</artifactId>
+            <version>3.5.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis-spring</artifactId>
+            <version>2.0.7</version>
+        </dependency>
+        <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>8.0.33</version>

+ 1 - 1
src/main/java/org/starter/learning/dao/impl/JdbcConfig.java → src/main/java/org/starter/learning/config/JdbcConfig.java

@@ -1,4 +1,4 @@
-package org.starter.learning.dao.impl;
+package org.starter.learning.config;
 
 import com.alibaba.druid.pool.DruidDataSource;
 import org.springframework.beans.factory.annotation.Value;

+ 24 - 0
src/main/java/org/starter/learning/config/MyBatisConfig.java

@@ -0,0 +1,24 @@
+package org.starter.learning.config;
+
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.context.annotation.Bean;
+
+import javax.sql.DataSource;
+
+public class MyBatisConfig {
+    @Bean
+    public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
+        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
+        ssfb.setTypeAliasesPackage("org.starter.learning.pojo");
+        ssfb.setDataSource(dataSource);
+        return ssfb;
+    }
+
+    @Bean
+    public MapperScannerConfigurer mapperScannerConfigurer() {
+        MapperScannerConfigurer msc = new MapperScannerConfigurer();
+        msc.setBasePackage("org.starter.learning");
+        return msc;
+    }
+}

+ 1 - 5
src/main/java/org/starter/learning/config/SpringConfig.java

@@ -1,13 +1,9 @@
 package org.starter.learning.config;
 
-import com.alibaba.druid.pool.DruidDataSource;
 import org.springframework.context.annotation.*;
-import org.starter.learning.dao.impl.JdbcConfig;
-
-import javax.sql.DataSource;
 
 @Configuration
 @ComponentScan("org.starter.learning")
 @Import({JdbcConfig.class})
-@PropertySource("jdbc.properties")
+@PropertySource("classpath:jdbc.properties")
 public class SpringConfig { }

+ 8 - 0
src/main/java/org/starter/learning/dao/Test.java

@@ -0,0 +1,8 @@
+package org.starter.learning.dao;
+
+public interface Test {
+    void select();
+    void update();
+    void delete();
+    void insert();
+}

+ 31 - 0
src/main/java/org/starter/learning/dao/impl/TestImpl.java

@@ -0,0 +1,31 @@
+package org.starter.learning.dao.impl;
+
+import org.starter.learning.dao.Test;
+
+public class TestImpl implements Test {
+    @Override
+    public void select() {
+        Long startTime = System.currentTimeMillis();
+        for (int i = 0; i < 10000; i++) {
+            System.out.println("Running select...");
+        }
+        Long endTime = System.currentTimeMillis();
+        Long totalTime = endTime - startTime;
+        System.out.println("执行万次消耗时间:" + totalTime + "ms");
+    }
+
+    @Override
+    public void update() {
+        System.out.println("Running update...");
+    }
+
+    @Override
+    public void delete() {
+        System.out.println("Running delete...");
+    }
+
+    @Override
+    public void insert() {
+        System.out.println("Running insert...");
+    }
+}