Mybatis IDEA創建一個空項目,然後添加Maven模塊 maven項目路徑如下所示 --項目名 --/src --/main #存放主程式java代碼和資源 --/java #java代碼 --/resources #配置文件和資源等,放到這裡的文件等同於放到了根目錄下 --/test #測 ...
Mybatis
IDEA創建一個空項目,然後添加Maven模塊
maven項目路徑如下所示
--項目名
--/src
--/main #存放主程式java代碼和資源
--/java #java代碼
--/resources #配置文件和資源等,放到這裡的文件等同於放到了根目錄下
--/test #測試程式文件夾
--/java
--/resources
--/pom.xml #maven 的核心配置文件
- 第一步:在pom文件中配置MySQL和mybatis依賴,並且設置打包方式為jar
<packaging>jar</packaging>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.31</version>
</dependency>
</dependencies>
- 第二步:編寫mybatis核心配置文件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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://mysql資料庫地址/資料庫名稱"/>
<property name="username" value="用戶名"/>
<property name="password" value="密碼"/>
</dataSource>
</environment>
</environments>
<mappers>
//此處填寫引入mapper文件
<mapper resource="studentMapper.xml"/>
<mapper resource="teacherMapper.xml"/>
</mappers>
</configuration>
- 第三步:編寫mapper文件,併在mybatis-config.xml文件中引入mapper文件
<?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="org.mybatis.example.BlogMapper">
//此處填寫sql語句
<insert id="studentInsert">
insert into stu values (null,'winter','nan');
</insert>
</mapper>
- 第四步:編寫mybatis程式。在java目錄下新建一個類
public class mybatisTest {
public static void main(String[] args) throws Exception{
//獲取SqlSessionFactoryBuilder對象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//獲取SqlSessionFactory對象
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//Resources.getResourceAsStream方法是從類路徑載入文件,移植性強
//核心配置文件的文件名不固定,只要能通過Resources.getResourceAsStream方法獲取到就行
SqlSessionFactory factory = builder.build(is);
//獲取SqlSession
SqlSession sqlSession = factory.openSession();
//執行sql語句
int count = sqlSession.insert("studentInsert");//此處的字元串要和mapper文件中的insert標簽的id對應
System.out.println("改動了"+count+"條記錄");
//commit手動提交
sqlSession.commit();
}
}
註意
mybatis-config.xml文件只有一個,是核心配置文件,存放資料庫連接信息等,一般是一個資料庫對應一個config文件
mapper文件可以有多個,專門編寫sql語句的配置文件,一般一張表對應一個mapper文件
獲取SqlSessionFactory對象時要傳入一個InputStream對象,該對象還可以使用FileinputStream來獲取,但是這樣代碼靈活性較差,可移植性差,不建議使用。