JAVA MyBatis入門學(xué)習(xí)過(guò)程記錄
一、Mybatis
1、mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 外部引入db--> <properties resource="db.properties"/> <settings> <!-- 配置日志文件--> <!-- <setting name="logImpl" value="STDOUT_LOGGING"/>--> <setting name="logImpl" value="log4j"/> <!-- 開(kāi)啟A_NAME==>aName--> <setting name="mapUnderscoreToCamelCase" valie="true" </settings> <!-- 減少類型--> <typeAliases> <typeAlias type="com.wang.pojo.User" alias="User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/wang/dao/UserMapper.xml"/> </mappers> </configuration>
2、Mapper.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.wang.dao.UserDao"> <select id="getUserList" resultType="User"> select * from mybatis.user </select> </mapper>
3、db.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis username=root password=123456
4、MybatisUtils工具類
package com.wang.utils; 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 java.io.IOException; import java.io.InputStream; public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { InputStream inputStream = null; try { String resource = "mybatis-config.xml"; inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getsqlsession() { return sqlSessionFactory.openSession(); } }
5、多對(duì)一AND多對(duì)一:
在Mapper.xml中配置
association 對(duì)象 多對(duì)一
collection 集合 一對(duì)多
從用參數(shù)解釋:
- javaType java類型
- ofType 泛型約束類型
6、使用注解開(kāi)發(fā)
可在接口中使用注解進(jìn)行開(kāi)發(fā),省去Mapper.xml
@Select("select * from mybatis.User") List<User> getUserList();
在mybatis-config.xml中配置 <mappers> <mapper class="com.wang.Dao.UserMapper" </mappers>
7、自定義緩存:ehcache
8、mybatis 其他工具
mybatis Hepler:https://pagehelper.github.io/
二、MAVEN資源導(dǎo)出錯(cuò)誤解決
<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build>
三、常用依賴導(dǎo)入
<!--導(dǎo)入依賴--> <dependencies> <!-- mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency> <!-- mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <!-- junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <!-- lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency> <!-- servlet and jsp--> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> <version>6.1.7</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> </dependency> <!-- standard--> <dependency> <groupId>org.apache.karaf.assemblies.features</groupId> <artifactId>standard</artifactId> <version>2.4.4</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- jstl--> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jstl-impl</artifactId> <version>1.2</version> </dependency> <!-- fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.76</version> </dependency> <!--Log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies>
四、LOG4J
1、log4j.properties 配置文件
<!--導(dǎo)入依賴--> <dependencies> <!-- mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency> <!-- mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <!-- junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <!-- lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency> <!-- servlet and jsp--> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> <version>6.1.7</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> </dependency> <!-- standard--> <dependency> <groupId>org.apache.karaf.assemblies.features</groupId> <artifactId>standard</artifactId> <version>2.4.4</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- jstl--> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jstl-impl</artifactId> <version>1.2</version> </dependency> <!-- fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.76</version> </dependency> <!--Log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies>
2、log4j 在mybatis-config.xml的配置
<settings> <setting name="logImpl" value="LOG4J"/> </settings>
3、使用場(chǎng)景
在具體類中引入
Logger logger = Logger.getLogger(UserDaoTest.class); logger.error(); logger.debug();
好用的插件:
1、lombok
常用注解:
- @Data 自動(dòng)生成geter seter
- @AllArgsConstructor 生成有參構(gòu)造函數(shù)
- @NoArgsConstructor 生成無(wú)參構(gòu)造函數(shù)
=“l(fā)ogImpl” value=“LOG4J”/>
## 3、使用場(chǎng)景 - 在具體類中引入 ```java Logger logger = Logger.getLogger(UserDaoTest.class); logger.error(); logger.debug();
常用注解:
- @Data 自動(dòng)生成geter seter
- @AllArgsConstructor 生成有參構(gòu)造函數(shù)
- @NoArgsConstructor 生成無(wú)參構(gòu)造函數(shù)
總結(jié)
本篇文章就到這里了,希望能夠給大家?guī)?lái)幫助,也希望您能夠能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java并發(fā)包之CopyOnWriteArrayList類的深入講解
這篇文章主要給大家介紹了關(guān)于Java并發(fā)包之CopyOnWriteArrayList類的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12關(guān)于@RequestBody和@RequestParam注解的使用詳解
這篇文章主要介紹了關(guān)于@RequestBody和@RequestParam注解的使用詳解,本文十分具有參考意義,希望可以幫助到你,如果有錯(cuò)誤的地方還望不吝賜教2023-03-03詳解SpringBoot的jar為什么可以直接運(yùn)行
SpringBoot提供了一個(gè)插件spring-boot-maven-plugin用于把程序打包成一個(gè)可執(zhí)行的jar包,本文給大家介紹了為什么SpringBoot的jar可以直接運(yùn)行,文中有相關(guān)的代碼示例供大家參考,感興趣的朋友可以參考下2024-02-02java執(zhí)行shell并獲取shell輸出日志方式
這篇文章主要介紹了java執(zhí)行shell并獲取shell輸出日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04PageHelper引發(fā)的幽靈數(shù)據(jù)問(wèn)題解析
這篇文章主要為大家介紹了PageHelper引發(fā)的幽靈數(shù)據(jù)問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04