idea 搭建Spring Boot +Mybatis
環境準備
idea 15
jDK
tomcat
maven
搭建方式
- 官網下載源碼包解壓縮
使用idea中的Spring initializr創建
這兩種方法創建的項目完全相同,只是操作方式不一樣
這裏介紹第二種方法,用idea創建
①在idea中,選擇File>new Project
出現如下界面
②填寫GVN(GroupId,ArtifactctId,Version)(Maven坐標,是用來唯一標識jar包),選擇版本
③選擇依賴,如下圖,勾選Web,Mybatis,MySQL
④填寫項目名稱,選擇項目目錄
⑤稍等一會,即可看到項目已下載下來
這裏其實項目已經準備好了,但使用還需配置一些參數,下面我們通過一個demo嘗試使用它
其它配置
①配置端口號,數據庫連接,mybatis等
這些配置我們都集成在一個文件中,我們在項目的src/main/resouces目錄下可以找到application.proteries文件,刪除該文件,用application.yml配置,這種方式更簡潔方便,文件內容如下
server: # 訪問端口號 port: 8080 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC username: root password: password # 使用阿裏巴巴的開源框架druid數據庫連接池 type: com.alibaba.druid.pool.DruidDataSource platform: mysql # mysql 8.0.+使用的驅動 driver-class-name: com.mysql.cj.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select ‘x‘ testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 mybatis: # mapper映射文件地址,這裏我在src/main/resouces下新建文件夾mapper mapper-locations: classpath*:mapper/*.xml # 配置bean掃描目錄,也可用註解 type-aliases-package: classpath*:com.example.demo.entity
② 配置pom文件
pom文件中描述了maven管理的包等,上面我們用到了Druid作為數據庫連接池,所以我們需要在pom.xml中的
<dependencies>...</dependencies>
中添加如下代碼
<!-- alibaba的druid數據庫連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.0</version> </dependency>
這樣jar包就引進來了
編寫程序
① 在數據庫新建一張表user,屬性如下(自己填寫數據)
② User.java
src/main/java/com.example.demo/entity/User.java
目錄需自己創建,下面步驟同理
public class User {
private Integer id;
private String name;
private String sex;
private Integer age ;
// set** and get** 方法省略,自己寫
}
③ UserMapper.java
src/main/java/com.example.demo/mapper/UserMapper.java
@Mapper //聲明是一個Mapper,與springbootApplication中的@MapperScan二選一寫上即可
@Repository
public interface UserMapper {
List<User> getAllUser();
}
④ UserMapper.xml
src/main/resouces/mapper/UserMaper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="getAllUser" resultType="com.example.demo.entity.User">
SELECT * FROM user
</select>
</mapper>
⑤ UserService.java
src/main/java/com.example.demo/service/UserService.java
public interface UserService {
List<User> getAllUser();
}
⑥ UserServiceImpl.java
src/main/java/com.example.demo/service/impl/UserServiceImpl.java
@Service(value = "userService")
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
public List<User> getAllUser() {
return userMapper.getAllUser();
}
}
⑦ UserController.java
src/main/java/com.example.demo/controller/UserController.java
@Controller
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/getAllUser")
@ResponseBody
private List<User> getAllUser() {
List<User> users = userService.getAllUser();
return users;
}
}
⑧ DemoApplication.java
src/main/java/com.example.demo/DemoApplication.java
註意該文件已存在,替換或修改
@SpringBootApplication
@EnableTransactionManagement //開啟事務管理
@ComponentScan("com.example.demo")
//@MapperScan("com.example.demo.mapper")//與dao層的@Mapper二選一寫上即可(主要作用是掃包)
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean(destroyMethod = "close", initMethod = "init")
@ConfigurationProperties(prefix = "spring.datasource")
public DruidDataSource druidDataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
return druidDataSource;
}
}
這裏是目錄結構圖
測試
1.運行DemoApplication.java,出現如下界面則成功
2.在瀏覽器輸入127.0.0.1:8080/user/getAllUser
成功!
idea 搭建Spring Boot +Mybatis