網(wǎng)絡(luò)營(yíng)銷外包是干啥的南寧seo團(tuán)隊(duì)哪家好
目錄
整合jdbc
1. 新建項(xiàng)目
2. 編寫yaml配置文件連接數(shù)據(jù)庫(kù)
3. 測(cè)試類
使用原生的jdbcTemplate進(jìn)行訪問測(cè)試
使用Druid連接池
1. 添加類型
2. 初始化連接池
3. 編寫config類
配置Druid數(shù)據(jù)源監(jiān)視
整合Mybatis
1. 導(dǎo)入依賴
2. 編寫mapper接口
3. 編寫實(shí)體類
4. 編寫mapper.xml
5. controller層調(diào)用方法
整合jdbc
1. 新建項(xiàng)目
2. 編寫yaml配置文件連接數(shù)據(jù)庫(kù)
spring:datasource:username: rootpassword: rooturl: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8driver-class-name: com.mysql.cj.jdbc.Driver
3. 測(cè)試類
@SpringBootTest
class Springboot04JdbcApplicationTests {@AutowiredDataSource dataSource;//注入依賴@Testvoid contextLoads() throws SQLException {System.out.println(dataSource.getClass());//測(cè)試一下類型Connection connection = dataSource.getConnection();System.out.println(connection);}
}
可以得到數(shù)據(jù)源為:class com.zaxxer.hikari.HikariDataSource
使用原生的jdbcTemplate進(jìn)行訪問測(cè)試
-
execute方法:可以用于執(zhí)行任何SQL語句,一般用于執(zhí)行DDL語句;
-
update方法及batchUpdate方法:update方法用于執(zhí)行新增、修改、刪除等語句;batchUpdate方法用于執(zhí)行批處理相關(guān)語句;
-
query方法及queryForXXX方法:用于執(zhí)行查詢相關(guān)語句;
-
call方法:用于執(zhí)行存儲(chǔ)過程、函數(shù)相關(guān)語句。
@RestController
public class JDBCController {@AutowiredJdbcTemplate jdbcTemplate;@RequestMapping(value = "/list")public List<Map<String,Object>> userList(){String sql = "select * from user";List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);return list;}
}
使用Druid連接池
1. 添加類型
在yml中設(shè)置type
type: com.alibaba.druid.pool.DruidDataSource # 自定義數(shù)據(jù)源
2. 初始化連接池
initialSize: 5minIdle: 5maxActive: 20maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true
3. 編寫config類
@Configuration
public class DruidConfig {@ConfigurationProperties(prefix = "spring.datasource")@Beanpublic DataSource druidDataSource(){return new DruidDataSource();}
}
@ConfigurationProperties(prefix = "spring.datasource"):
將全局配置文件中前綴為 spring.datasource的屬性值注入到 com.alibaba.druid.pool.DruidDataSource 的同名參數(shù)中
配置Druid數(shù)據(jù)源監(jiān)視
@Beanpublic ServletRegistrationBean servletRegistrationBean(){ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");HashMap<String, String> init = new HashMap<>();init.put("loginUsername","admin");//初始化init.put("loginPassword","123");//后臺(tái)允許誰訪問init.put("allow","");bean.setInitParameters(init);return bean;}
當(dāng)執(zhí)行一次sql時(shí),后臺(tái)會(huì)有監(jiān)視?
整合Mybatis
1. 導(dǎo)入依賴
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.1</version>
</dependency>
2. 編寫mapper接口
@Mapper
@Component
public interface UserMapper {List<User> query();
}
?@Mapper : 表示本類是一個(gè) MyBatis 的 Mapper
3. 編寫實(shí)體類
使用Lombok注解
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {int id;String name;String password;
}
4. 編寫mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.demos.mapper.UserMapper"><select id="query" resultType="User">select * from user</select>
</mapper>
5. controller層調(diào)用方法
@RestController
public class UserController {@AutowiredUserMapper userMapper;@RequestMapping(value = "/query")public List query(){List<User> query = userMapper.query();return query;}
}