Spring Boot統合Mybatis(手順説明)付ソースコード
転載は出典を明記してください.http://blog.csdn.net/a318199328/article/details/52248552
直接本題に入ります!!!
新しいMavenプロジェクト
新規プロジェクト後のディレクトリ構造
新規ディレクトリ構造src/main/resources
新規ディレクトリ構造の構造表示
新規パッケージ構造
元pom.xml追加
コンパイルを追加するとエラーが発生する可能性があります
ソリューション:右クリックしたアイテムからMavenオプションを見つけ、「Upate Project」を選択します.
Javaファイルの作成
一.com.cn.domainパッケージでのUserエンティティークラスの作成
二.com.cn.mapperパッケージでのUserMapperクラスの作成
三.src/main/resourcesパッケージにUserMapperを作成する.xml
四.com.cn.サービスパッケージでのUserServiceの作成
五.com.cn.ControllerパッケージでのUserControllerクラスの作成(データベース接続)
六.com.cn.servoceパッケージにHelloControllerクラスを作成する
七.com.cnパッケージにアプリケーションクラスを作成する(実行クラス)
八.src/main/resourcesでアプリケーションを作成する.properties(データベース構成)
#行の後ろにスペースが含まれていないことを保証します.そうしないと、エラーが発生します.
九.src/main/resourcesでlog 4 jを作成する.properties(必要に応じて構成)
十.src/main/resourcesでtemplatesを作成し(必須)ページディレクトリに戻り、templatesの下でhelloを作成する.html
テスト:Appliactionを実行します.JAva(Run As-->Java Appliaction)を右クリックし、エラーを報告せずにブラウザで入力します.
http://localhost:8080/hello
http://localhost:8080/hello?name=xxx
http://localhost:8080/getUserInfo?id=1
インスタンスのダウンロード:http://download.csdn.net/detail/a318199328/9607376
注意:MyBatisは半自動のORMフレームワークですので、主な作業はMappingマッピングファイルの構成ですが、手書きマッピングファイルはエラーが発生しやすいため、MyBatisジェネレータを使用してエンティティクラス、DAOインタフェース、MappingマッピングファイルEclipse MyBatis Generatorプラグイン、使用説明を自動的に生成できます.
直接本題に入ります!!!
新しいMavenプロジェクト
新規プロジェクト後のディレクトリ構造
新規ディレクトリ構造src/main/resources
新規ディレクトリ構造の構造表示
新規パッケージ構造
元pom.xml追加
UTF-8
3.2.9.RELEASE
2.4.4
1.8
org.springframework.boot
spring-boot-starter-parent
1.2.5.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-actuator
org.mybatis
mybatis-spring
1.2.2
org.mybatis
mybatis
3.2.8
org.apache.tomcat
tomcat-jdbc
mysql
mysql-connector-java
com.alibaba
fastjson
1.1.43
com.mangofactory
swagger-springmvc
0.9.5
com.fasterxml.jackson.core
jackson-annotations
com.fasterxml.jackson.core
jackson-databind
com.fasterxml.jackson.core
jackson-core
org.springframework.boot
spring-boot-maven-plugin
コンパイルを追加するとエラーが発生する可能性があります
ソリューション:右クリックしたアイテムからMavenオプションを見つけ、「Upate Project」を選択します.
Javaファイルの作成
一.com.cn.domainパッケージでのUserエンティティークラスの作成
public class User {
private String name;
private Integer age;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
二.com.cn.mapperパッケージでのUserMapperクラスの作成
import com.cn.domain.User;
public interface UserMapper {
public User findUserInfo(String id);
}
三.src/main/resourcesパッケージにUserMapperを作成する.xml
四.com.cn.サービスパッケージでのUserServiceの作成
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cn.domain.User;
import com.cn.mapper.UserMapper;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserInfo(String id){
User user=userMapper.findUserInfo(id);
//User user=null;
return user;
}
}
五.com.cn.ControllerパッケージでのUserControllerクラスの作成(データベース接続)
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.cn.domain.User;
import com.cn.service.UserService;
@Controller
public class UserController {
private Logger logger = Logger.getLogger(UserController.class);
@Autowired
private UserService userService;
@RequestMapping("/getUserInfo")
@ResponseBody
public User getUserInfo(@RequestParam("id") String id) {
System.out.println(id);
User user = userService.getUserInfo(id);
if(user!=null){
System.out.println("user.getName():"+user.getName());
logger.info("user.getAge():"+user.getAge());
}
return user;
}
}
六.com.cn.servoceパッケージにHelloControllerクラスを作成する
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
七.com.cnパッケージにアプリケーションクラスを作成する(実行クラス)
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.log4j.Logger;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@MapperScan("com.cn.mapper")// mapper
public class Application {
private static Logger logger = Logger.getLogger(Application.class);
@Bean
@ConfigurationProperties(prefix="spring.datasource")//
public DataSource dataSource() {
return new org.apache.tomcat.jdbc.pool.DataSource();
}
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));// Mapper.xml
return sqlSessionFactoryBean.getObject();
}
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
/**
* Start
*/
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
logger.info("SpringBoot Start Success");
}
}
八.src/main/resourcesでアプリケーションを作成する.properties(データベース構成)
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#行の後ろにスペースが含まれていないことを保証します.そうしないと、エラーが発生します.
九.src/main/resourcesでlog 4 jを作成する.properties(必要に応じて構成)
#config root logger
log4j.rootLogger = INFO,system.out
log4j.appender.system.out=org.apache.log4j.ConsoleAppender
log4j.appender.system.out.layout=org.apache.log4j.PatternLayout
log4j.appender.system.out.layout.ConversionPattern=[Log] %5p[%F:%L]:%m%n
#config this Project.file logger
log4j.logger.thisProject.file=INFO,thisProject.file.out
log4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppender
log4j.appender.thisProject.file.out.File=logContentFile.log
log4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout
十.src/main/resourcesでtemplatesを作成し(必須)ページディレクトリに戻り、templatesの下でhelloを作成する.html
Getting Started: Serving Web Content
テスト:Appliactionを実行します.JAva(Run As-->Java Appliaction)を右クリックし、エラーを報告せずにブラウザで入力します.
http://localhost:8080/hello
http://localhost:8080/hello?name=xxx
http://localhost:8080/getUserInfo?id=1
インスタンスのダウンロード:http://download.csdn.net/detail/a318199328/9607376
注意:MyBatisは半自動のORMフレームワークですので、主な作業はMappingマッピングファイルの構成ですが、手書きマッピングファイルはエラーが発生しやすいため、MyBatisジェネレータを使用してエンティティクラス、DAOインタフェース、MappingマッピングファイルEclipse MyBatis Generatorプラグイン、使用説明を自動的に生成できます.