MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】
- Java后端 學習路線 筆記匯總表【黑馬程序員】
目錄
01.mybatis課程介紹
02.三層架構和ssm框架的對應關系
03.jdbc操作數據庫的問題分析
04.mybatis概述
05.mybatis環境搭建-前期準備
創建Maven工程
創建數據庫表
mybatis坐標
pom.xml
06.mybatis的環境搭建
編寫User實體類
編寫持久層接口IUserDao
在resources文件夾下 新建SqlMapConfig.xml文件
編寫IUserDao.xml
mybatis環境搭建步驟總結
07.環境搭建的注意事項
01.mybatis課程介紹
mybatis框架? ?共四天
第一天:mybatis入門
?? ?mybatis的概述
?? ?mybatis的環境搭建
?? ?mybatis入門案例
?? ?自定義mybatis框架(主要的目的是為了讓大家了解mybatis中執行細節)
第二天:mybatis基本使用
?? ?mybatis的單表crud操作
?? ?mybatis的參數和返回值
?? ?mybatis的dao編寫
?? ?mybatis配置的細節
?? ??? ?幾個標簽的使用
第三天:mybatis的深入和多表
?? ?mybatis的連接池
?? ?mybatis的事務控制及設計的方法
?? ?mybatis的多表查詢
?? ??? ?一對多(多對一)
?? ??? ?多對多
第四天:mybatis的緩存和注解開發
?? ?mybatis中的加載時機(查詢的時機)
?? ?mybatis中的一級緩存和二級緩存
?? ?mybatis的注解開發
?? ??? ?單表CRUD
?? ??? ?多表查詢
02.三層架構和ssm框架的對應關系
1、什么是框架?
?? ?它是我們軟件開發中的一套解決方案,不同的框架解決的是不同的問題。
?? ?使用框架的好處:框架封裝了很多的細節,使開發者可以使用極簡的方式實現功能。大大提高開發效率。
2、三層架構
?? ?表現層:是用于展示數據的
?? ?業務層:是處理業務需求
?? ?持久層:是和數據庫交互的
03.jdbc操作數據庫的問題分析
3、持久層技術解決方案
?? ?JDBC技術:
?? ??? ?Connection
?? ??? ?PreparedStatement
?? ??? ?ResultSet
?? ?Spring的JdbcTemplate:
?? ??? ?Spring中對jdbc的簡單封裝
?? ?Apache的DBUtils:
?? ??? ?它和Spring的JdbcTemplate很像,也是對Jdbc的簡單封裝
?? ?以上這些都不是框架
?? ??? ?JDBC是規范
?? ??? ?Spring的JdbcTemplate和Apache的DBUtils都只是工具類。
04.mybatis概述
4、mybatis的概述
?? ?mybatis是一個持久層框架,用java編寫的。
?? ?它封裝了jdbc操作的很多細節,使開發者只需要關注sql語句本身,而無需關注注冊驅動,創建連接等繁雜過程
?? ?它使用了ORM思想實現了結果集的封裝。
????ORM:Object Relational Mappging 對象關系映射
????????簡單的說:就是把數據庫表和實體類及實體類的屬性對應起來,讓我們可以操作實體類就實現操作數據庫表。
????????????user????????????User
????????????id????????????userId
????????????user_name????????userName
????今天我們需要做到:實體類中的屬性和數據庫表的字段名稱保持一致。
????????????user數據表????????User實體類
????????????id????????????id
????????????user_name????????user_name
05.mybatis環境搭建-前期準備
創建Maven工程
若勾選的話,選擇普通的java工程
?
創建數據庫表
數據庫:eesy_mybatis
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
? `id` int(11) NOT NULL auto_increment,
? `username` varchar(32) NOT NULL COMMENT '用戶名稱',
? `birthday` datetime default NULL COMMENT '生日',
? `sex` char(1) default NULL COMMENT '性別',
? `address` varchar(256) default NULL COMMENT '地址',
? PRIMARY KEY ?(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert ?into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (41,'老王','2018-02-27 17:47:08','男','北京'),(42,'小二王','2018-03-02 15:09:37','女','北京金燕龍'),(43,'小二王','2018-03-04 11:34:34','女','北京金燕龍'),(45,'傳智播客','2018-03-04 12:04:06','男','北京金燕龍'),(46,'老王','2018-03-07 17:37:26','男','北京'),(48,'小馬寶莉','2018-03-08 11:44:00','女','北京修正');
mybatis坐標
mybatis官網:mybatis – MyBatis 3 | 簡介
???????
<dependency>
? <groupId>org.mybatis</groupId>
? <artifactId>mybatis</artifactId>
? <version>x.x.x</version>
</dependency>
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>day01_easy_01mybatis</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><!--打包方式:jar包--><!--導入mybatis坐標--><dependencies><!--依賴--><dependency><!--mybatis必備--><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version><!--最新版--></dependency><dependency><!--mybatis必備--><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><!--日志--><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><!--單元測試--><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies> </project>06.mybatis的環境搭建
編寫User實體類
?
package com.itheima.domain;import java.io.Serializable; import java.util.Date;public class User implements Serializable {private Integer id;private String username;private Date birthday;private String sex;private String address;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 Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", birthday=" + birthday +", sex='" + sex + '\'' +", address='" + address + '\'' +'}';} }編寫持久層接口IUserDao
package com.itheima.dao;import com.itheima.domain.User;import java.util.List;/*** 用戶的持久層接口*/ public interface IUserDao {/*** 查詢所有用戶** @return*/List<User> findAll(); }在resources文件夾下 新建SqlMapConfig.xml文件
SqlMapConfig.xml:文件名一般寫為SqlMapConfig.xml。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- mybatis的主配置文件 --> <configuration><!-- 配置環境 --><environments default="mysql"><!-- 配置mysql的環境 --><environment id="mysql"><!-- 配置事務的類型 --><transactionManager type="JDBC"></transactionManager><!-- 配置數據源(連接池) --><dataSource type="POOLED"><!-- 配置連接數據庫的4個基本信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件 --><mappers><mapper resource="com/itheima/dao/IUserDao.xml"/><!-- resource指定文件位置 --></mappers> </configuration>編寫IUserDao.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"> <mapper namespace="com.itheima.dao.IUserDao"><!--配置查詢所有--><select id="findAll" resultType="com.itheima.domain.User">select * from user</select> </mapper>mybatis環境搭建步驟總結
07.環境搭建的注意事項
5、mybatis的入門
?? ?mybatis的環境搭建
?? ??? ?第一步:創建maven工程并導入坐標
?? ??? ?第二步:創建實體類和dao的接口
?? ??? ?第三步:創建Mybatis的主配置文件 SqlMapConifg.xml
?? ??? ?第四步:創建映射配置文件 IUserDao.xml
?? ?環境搭建的注意事項:
?? ??? ?第一個:創建IUserDao.xml 和 IUserDao.java時,名稱是為了和我們之前的知識保持一致。
?? ??? ??? ?在Mybatis中它把持久層的操作接口名稱和映射文件也叫做:Mapper
?? ??? ??? ?所以:IUserDao 和 IUserMapper是一樣的。(Mapper==Dao)
?? ??? ?第二個:在idea中創建目錄的時候,它和包是不一樣的
?? ??? ??? ?包在創建時:com.itheima.dao是三級結構
?? ??? ??? ?目錄在創建時:com.itheima.dao是一級目錄
?? ??? ?第三個:mybatis的映射配置文件位置必須和dao接口的包結構相同
?? ??? ?第四個:映射配置文件的mapper標簽namespace屬性的取值必須是dao接口的全限定類名
?? ??? ?第五個:映射配置文件的操作配置(select),id屬性的取值必須是dao接口的方法名
? ? ? ? 好處:當我們遵從了第三、四、五點之后,我們在開發中就無須再寫dao的實現類。
?? ?mybatis的入門案例
總結
以上是生活随笔為你收集整理的MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaWeb黑马旅游网-学习笔记09【
- 下一篇: MyBatis-学习笔记02【02.My