1.要使用mybatis先把組態檔做好,
文章以idea的Maven為例子
1.在Maven專案中的pom.xml中匯入以下依賴
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
2.在專案下的src/main/resources下創建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.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/stu"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/tian/dao/StudentMapper.xml"/>
</mappers>
</configuration>
上面<configuration>標簽的作用是連接資料庫,可以根據需求更改代碼,
<mappers>標簽后面用到,待會再提,
2.創建java包和類,完成業務需求
1.在src/java下創建包,如我創建的包為com.tian.dao和com.tian.pojo以及com.tian.utils
在utils包中創建MybatisUtils.class的類,代碼如下:
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource ="mybatis-config.xml";//加載組態檔
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
}
//創建一個方法可以更方便的使用
public static SqlSession getSqlSession(){
SqlSession sqlSession = sqlSessionFactory.openSession(true);//true的作用是提交事務
return sqlSession;
}
}
2.在pojo中創建自定義類,類中屬性名最好和資料庫一樣,部分代碼如下:
public class Student {
private int id;
private String name;
private String sex;
private String age;
private String qq;
//省略了get,set方法以及有參無參函式,及toString方法
.......
}
3..在dao包下創建一個介面,介面中用來寫增刪改查的方法:如我 的為StudentMapper
public interface StudentMapper {
//簡單使用兩種方法來完成實驗
List<Student> queryAllBook();
Student queryStuId(int id);
}
寫完之后,在dao包下創建與介面同名的.xml檔案,如我的為StudentMapper.xml,還記得前面的<mappers>標簽嗎?里面的作用就是用來決議xml檔案的,
<mapper resource="com/tian/dao/StudentMapper.xml"/>
這里是用的全路徑單個掃描,當.xml檔案有多個時,可以使用包掃描:
<package name="com.tian.dao"/>
峰回路轉,來到StudentMapper.xml,里面要寫啥呢?如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tian.dao.StudentMapper">
<select id="queryStuId" resultType="com.tian.pojo.Student">
select *from stu.student where id=#{id}
</select>
<select id="queryAllBook" resultType="com.tian.pojo.Student">
select *from stu.student
</select>
</mapper>
可以看到上面有許多東西,最開始的頭宣告,可以不管,
可以看到<mapper>標簽,namespace=“.......”屬性用來系結介面的,
下面的標簽就很簡單了,可以肯定<select>標簽用來查詢的,id屬性的值即是介面中方法的名稱,
然后簡單的寫上查詢陳述句,
3.創建test類看效果,代碼如下:
public class Test {
@Test
public void test() {
//獲取SqlSession 物件
SqlSession sqlSession = MybatisUtils.getSqlSession();
//執行sql
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
Student student = mapper.queryStuId(1);
System.out.println(student);
//用完一定要關閉資源
sqlSession.close();
}
}
運行一下,可以看到成功了,
Student{id=1, name='李逍遙', sex='男', age='18', qq='12345'}
行程已結束,退出代碼為 0
簡單使用mabatis就完成了,其實有許多地方可以優化,但是我寫著寫著發現,我很難用語言來表達,所以就先到這里了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/337782.html
標籤:其他
上一篇:標準國民經濟行業分類與代碼GB/T 4754-2011存入mysql資料庫
下一篇:在sqlbolt上學習SQL
