MyBatis入门HelloWorld,注解实现
生活随笔
收集整理的這篇文章主要介紹了
MyBatis入门HelloWorld,注解实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
入門數(shù)據(jù)準備
HelloWorld表準備
-- 創(chuàng)建hello表 CREATE TABLE hello(id INT,`name` VARCHAR(10) ); -- 添加數(shù)據(jù) INSERT INTO hello VALUES(1,'hello'); INSERT INTO hello VALUES(2,'world');創(chuàng)建項目
項目目錄
使用maven創(chuàng)建一個模塊
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.fs</groupId><artifactId>MyBatis_HelloWorld</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies> </project>MyBatis核心配置文件,在src下倒入下面的配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!--MyBatis的DTD約束--> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--configuration 核心根標簽--> <configuration><!--引入數(shù)據(jù)庫連接的配置文件--><properties resource="jdbc.properties"/><!--environments配置數(shù)據(jù)庫環(huán)境,環(huán)境可以有多個。default屬性指定使用的是哪個--><environments default="mysql"><!--environment配置數(shù)據(jù)庫環(huán)境 id屬性唯一標識--><environment id="mysql"><!-- transactionManager事務(wù)管理。 type屬性,采用JDBC默認的事務(wù)--><transactionManager type="JDBC"></transactionManager><!-- dataSource數(shù)據(jù)源信息 type屬性 連接池--><dataSource type="POOLED"><!-- property獲取數(shù)據(jù)庫連接的配置信息 --><property name="driver" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /></dataSource></environment></environments><!-- mappers引入映射配置文件 --><mappers> <!-- 掃描指定路徑下的包--><package name="com.fs.dao"/></mappers> </configuration>jdbc連接參數(shù)配置文件,在src下倒入下面的配置文件
注意的是IP地址和庫名記得修改
log4j日志記錄配置文件,在src下倒入下面的配置文件
# Global logging configuration # ERROR WARN INFO DEBUG log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n準備實體類
package com.fs.entity;public class Hello {private Integer id;private String name;/*省略了get set toString 方法*/ }配置dao接口
package com.fs.dao;import com.fs.entity.Hello; import org.apache.ibatis.annotations.Select;import java.util.List;public interface HelloDao {/*** 查詢所有方法* @return*/@Select("select * from hello")List<Hello> findAll(); }測試類
package com.fs.dao;import com.fs.entity.Hello; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test;import java.io.IOException; import java.io.InputStream; import java.util.List;public class HelloDaoTest {@Testpublic void findAll() throws IOException {//加載MyBatisConfig.xml配置文件InputStream resourceAsStream = Resources.getResourceAsStream("MyBatisConfig.xml");//創(chuàng)建SqlSessionFactoryBuilder來得到會話工廠類 主要作用:解析配置文件,然后構(gòu)建SqlSessionFactorySqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();//獲取會話工廠類 作用:用來獲取SqlSessionSqlSessionFactory build = sqlSessionFactoryBuilder.build(resourceAsStream);//得到會話 作用:構(gòu)建對象,用于執(zhí)行sql語句,管理事務(wù),接口代理SqlSession sqlSession = build.openSession();//代理HelloDao接口HelloDao mapper = sqlSession.getMapper(HelloDao.class);//調(diào)用查詢所有方法,返回結(jié)果集List<Hello> all = mapper.findAll();//循環(huán)輸出hello對象for (Hello hello : all) {System.out.println(hello);}} }執(zhí)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的MyBatis入门HelloWorld,注解实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cookie实现用户登录记住密码,实现自
- 下一篇: 浅谈Mybatis的一级缓存和二级缓存