Mybatis笔记——Mybatis入门
生活随笔
收集整理的這篇文章主要介紹了
Mybatis笔记——Mybatis入门
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
(一)MyBatis快速入門(mén)
通過(guò)一個(gè)案例快速入門(mén)Mybatis框架案例:查詢(xún)user表中所有數(shù)據(jù)1) 創(chuàng)建user表,添加數(shù)據(jù)2) 創(chuàng)建模塊,導(dǎo)入坐標(biāo)3) 編寫(xiě)MyBatis核心配置文件-->替換連接信息,解決硬編碼問(wèn)題4) 編寫(xiě)SQL映射文件-->統(tǒng)一管理sql語(yǔ)句,解決硬編碼問(wèn)題5) 編碼i. 定義POJO類(lèi)ii. 加載核心配置文件,獲取SqlSessionFactory對(duì)象iii. 獲取SqlSession對(duì)象,執(zhí)行SQL語(yǔ)句iv. 釋放資源
–
1、創(chuàng)建user表,添加數(shù)據(jù)
DROP table IF exists tb_user;CREATE TABLE tb_user(id int primary key auto_increment,username varchar(20),password varchar(30),gender char(1),addr varchar(20) );insert into tb_user(id, username, password, gender, addr) values (1, 'zhangsan', '123', '男', '廣州'), (2, '李四', '234', '女', '天津'), (3, '王五', '11', '男', '北京'); sql語(yǔ)句執(zhí)行結(jié)果2.創(chuàng)建模塊,導(dǎo)入坐標(biāo)
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.itheima</groupId><artifactId>mybatis-demo</artifactId><version>1.0-SNAPSHOT</version><repositories><repository><id>JBoss repository</id><url>https://repository.jboss.org/nexus/content/repositories/releases/</url></repository></repositories><dependencies><!--mybatis依賴(lài)--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><!--mysql驅(qū)動(dòng)--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><!--單元測(cè)試--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><!--添加slf4j日志API--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.20</version></dependency><!--添加logback-classic依賴(lài)--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!--添加logback-core依賴(lài)--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.3</version></dependency></dependencies></project> logback文件的配置如下: <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"><!--定義日志文件的存儲(chǔ)地址--><property name="LOG_HOME" value="/home" /><!--控制臺(tái)日志, 控制臺(tái)輸出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化輸出:%d表示日期,%thread表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度,%msg:日志消息,%n是換行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!--文件日志 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件輸出的文件名--><FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天數(shù)--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化輸出:%d表示日期,%thread表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /><logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" /><logger name="org.hibernate.SQL" level="DEBUG" /><logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /><logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /><logger name="com.apache.ibatis" level="TRACE"/><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/><root level="DEBUG"><appender-ref ref="STDOUT" /><appender-ref ref="FILE"/></root> </configuration>3.編寫(xiě)MyBatis核心配置文件–>替換連接信息,解決硬編碼問(wèn)題
mybatis核心配置文件參考官網(wǎng)給出的示例 官網(wǎng):https://mybatis.org/mybatis-3/zh/getting-started.html紅色框框中的內(nèi)容是需要根據(jù)自己的設(shè)置更改的 我自己的配置如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><!-- 數(shù)據(jù)庫(kù)鏈接信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=false"/><property name="username" value="root"/><property name="password" value="111111"/></dataSource></environment></environments><mappers><mapper resource="UserMapper.xml"/></mappers> </configuration>4.編寫(xiě)SQL映射文件–>統(tǒng)一管理sql語(yǔ)句,解決硬編碼問(wèn)題
sql映射配置文件參考官網(wǎng)給出的示例 官網(wǎng):https://mybatis.org/mybatis-3/zh/getting-started.html紅色框框中的內(nèi)容是需要根據(jù)自己的設(shè)置更改的 我的sql映射文件 UserMapper.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"><!--namespace:名稱(chēng)空間 --> <mapper namespace="test"><select id="selectAll" resultType="com.itheima.Pojo.User">select * from tb_user;</select> </mapper>5. 編碼
首先創(chuàng)建User類(lèi)包含表中的所有字段 public class User {private Integer id;private String username;private String passWord;private String gender;private String addr;public User() {}public User(Integer id, String username, String passWord, String gender, String addr) {this.id = id;this.username = username;this.passWord = passWord;this.gender = gender;this.addr = addr;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getAddr() {return addr;}public void setAddr(String addr) {this.addr = addr;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", passWord='" + passWord + '\'' +", gender='" + gender + '\'' +", addr='" + addr + '\'' +'}';} } 測(cè)試類(lèi):main方法 public static void main(String[] args) throws Exception {//1.加載mybatis核心配置文件,獲取SqlSessionFactoryString resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//2.獲取SqlSession對(duì)象,用它來(lái)執(zhí)行sqlSqlSession sqlSession = sqlSessionFactory.openSession();//3.執(zhí)行sqlList<User> users = sqlSession.selectList("test.selectAll");System.out.println(users);//4.釋放資源sqlSession.close();}總結(jié)
以上是生活随笔為你收集整理的Mybatis笔记——Mybatis入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 购买理财产品需赎回是什么意思?理财忘记赎
- 下一篇: Oracle备份standby,Orac