国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

如何基于mybatis框架查詢數(shù)據(jù)庫表數(shù)據(jù)并打印

瀏覽:5日期:2023-10-21 18:27:31

一、需求說明

使用mybatis框架查詢數(shù)據(jù)庫user表數(shù)據(jù)并打印到控制臺(tái)上

如何基于mybatis框架查詢數(shù)據(jù)庫表數(shù)據(jù)并打印

二、數(shù)據(jù)庫數(shù)據(jù)準(zhǔn)備

-- 創(chuàng)建用戶表create table user ( id int primary key auto_increment, username varchar(20) not null, birthday date, sex char(1) default ’男’, address varchar(50));-- 添加用戶數(shù)據(jù)insert into user values (null, ’孫悟空’,’1980-10-24’,’男’,’花果山水簾洞’);insert into user values (null, ’白骨精’,’1992-11-12’,’女’,’白虎嶺白骨洞’);insert into user values (null, ’豬八戒’,’1983-05-20’,’男’,’福臨山云棧洞’);insert into user values (null, ’蜘蛛精’,’1995-03-22’,’女’,’?絲洞’);-- 查詢用戶數(shù)據(jù)select * from user;

三、實(shí)現(xiàn)步驟

3.1 創(chuàng)建模塊3

.2 導(dǎo)入Mybatis框架jar包

如何基于mybatis框架查詢數(shù)據(jù)庫表數(shù)據(jù)并打印

3.3 編寫用戶實(shí)體類:User

package com.vg.entity;import java.util.Date;public class User { private int id; private String username; private Date birthday; private String sex; private String address; //alt+insert快速生成getter/setter方法 public int getId() { return id; } public void setId(int 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; } @Override public String toString() { return 'User{' +'id=' + id +', username=’' + username + ’’’ +', birthday=' + birthday +', sex=’' + sex + ’’’ +', address=’' + address + ’’’ +’}’; }}

3.4 編寫dao接口:UserMapper

package com.vg.dao;import com.vg.entity.User;import java.util.List;/** * 數(shù)據(jù)訪問層接口:對(duì)用戶進(jìn)行增刪改查操作 * */public interface UserMapper { /** * 查詢所有用戶 * */ List<User> findAllUsers();}

3.5 編寫dao接口映射文件:UserMapper.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> </mapper>

3.6 編寫Mybatis主配置文件:sqlMapConfig.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> </configuration>

3.7 編寫測(cè)試類

package com.vg.test;import org.junit.Test;/** * 測(cè)試類 */public class TestUserMapper { /** * 測(cè)試方法:查詢所有學(xué)生 */ @Test public void testFindAllUsers(){ }}

四、完善sqlMapConfig.xml

4.1 目標(biāo)

完成mybatis主配置文件相關(guān)信息的配置:數(shù)據(jù)庫環(huán)境信息配置,包括如下:

導(dǎo)入mybatis約束(復(fù)制約束信息) 數(shù)據(jù)庫事務(wù)配置 數(shù)據(jù)庫連接信息配置 連接池信息配置

4.2 sqlMapConfig.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標(biāo)簽作用:配置數(shù)據(jù)庫環(huán)境 default:設(shè)置默認(rèn)的數(shù)據(jù)庫環(huán)境 environment:用來配置一個(gè)數(shù)據(jù)庫的環(huán)境信息 --> <environments default='develop'> <!--用來配置一個(gè)數(shù)據(jù)庫的環(huán)境信息 id:配置環(huán)境信息的唯一標(biāo)識(shí) --> <environment id='develop'> <!--transactionManager:配置事務(wù)管理器 type:設(shè)置事務(wù)管理器的類型,取值有type=“[JDBC|MANAGED]” JDBC:事務(wù)管理使用JDBC的管理方式 MANAGED:事務(wù)交給容器管理(mybatis不管理),后續(xù)交給spring容器管理。 --> <transactionManager type='JDBC'></transactionManager> <!--dataSource:配置數(shù)據(jù)源(連接池)信息 type:設(shè)置數(shù)據(jù)源類型,常用的值有:unpooled 和 pooled unpooled:不使用連接池,每次都重新獲取連接操作數(shù)據(jù) pooled:使用mybatis內(nèi)置的連接池 --> <dataSource type='POOLED'><!--數(shù)據(jù)庫驅(qū)動(dòng)字符串--><property name='driver' value='com.mysql.jdbc.Driver'/><!--數(shù)據(jù)庫驅(qū)動(dòng)字符串--><property name='url' value='jdbc:mysql://localhost:3306/test'/><!--用戶名--><property name='username' value='root'/><!--密碼--><property name='password' value='root'/> </dataSource> </environment> </environments></configuration>

五、完善UserMapper.xml文件

5.1 目標(biāo)

完成接口映射配置文件UserMapper.xml的編寫:這個(gè)映射文件就相當(dāng)于UserMapper接口實(shí)現(xiàn)類配置

5.2 UserMapper.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'><!-- 映射的作用:一個(gè)映射文件就對(duì)應(yīng)一個(gè)接口,一個(gè)接口可以有多個(gè)映射文件,一般是一對(duì)一關(guān)系。 mapper標(biāo)簽的namespace屬性的作用:關(guān)聯(lián)接口,需要配置對(duì)應(yīng)接口的類全名字符串--><mapper namespace='com.vg.dao.UserMapper'> <!-- 完成接口映射配置文件UserMapper.xml的編寫:這個(gè)映射文件就相當(dāng)于UserMapper接口實(shí)現(xiàn)類配置 --> <!--select標(biāo)簽的作用:用來配置查詢要執(zhí)行的SQL語句 id屬性:關(guān)聯(lián)接口中的方法名 resultType屬性:設(shè)置方法返回的數(shù)據(jù)類型,如果是集合則配置集合元素的類型 --> <select resultType='com.vg.entity.User'> select * from user </select></mapper>

5.3 在sqlMapConfig.xml中加載接口映射配置文件

<!--mappers標(biāo)簽的作用:用來配置接口映射文件--> <mappers> <!--mapper標(biāo)簽:一個(gè)該標(biāo)簽就配置一個(gè)接口映射文件 resource屬性:配置映射文件的路徑,路徑分隔符使用 / : com/vg/dao/UserMapper.xml url:用于配置互聯(lián)網(wǎng)上的映射文件的路徑,比如:http://www.baidu.com/xxx.xml --> <mapper resource='com/vg/dao/UserMapper.xml'></mapper> </mappers>

六、編寫測(cè)試類運(yùn)行

6.1 運(yùn)行效果

如何基于mybatis框架查詢數(shù)據(jù)庫表數(shù)據(jù)并打印

6.2 實(shí)現(xiàn)步驟

1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對(duì)象 2. 實(shí)例化會(huì)話工廠創(chuàng)建類SqlSessionFactoryBuilder 3. 通過會(huì)話工廠創(chuàng)建類,讀取上面的輸入流,得到會(huì)話工廠SqlSessionFactory類 4. 使用SqlSessionFactory對(duì)象,創(chuàng)建SqlSession對(duì)象 a) 它相當(dāng)于JDBC中的Connection對(duì)象,提供了操作數(shù)據(jù)庫的CRUD方法 b) 它提供了一個(gè)getMapper()方法,獲取接口的實(shí)現(xiàn)對(duì)象。 5. 獲取接口 UserMapper 實(shí)現(xiàn)類對(duì)象 6. 執(zhí)行數(shù)據(jù)庫的查詢操作,輸出用戶信息 7. 關(guān)閉會(huì)話,釋放資源。

6.3 測(cè)試類代碼

package com.vg.test;import com.vg.dao.UserMapper;import com.vg.entity.User;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 org.junit.Test;import java.io.InputStream;import java.util.List;/** * 測(cè)試類 */public class TestUserMapper { /** * 測(cè)試方法:查詢所有學(xué)生 * SqlSessionFactoryBuilder=>SqlSessionFactory=>Sqlsession:相當(dāng)于JDBC中的Connection對(duì)象 */ @Test public void testFindAllUsers() throws Exception{ //1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對(duì)象 // Resources類作用:專門讀取src目錄下的資源文件 InputStream in = Resources.getResourceAsStream('sqlMapConfig.xml'); //2. 實(shí)例化會(huì)話工廠創(chuàng)建類SqlSessionFactoryBuilder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3. 通過會(huì)話工廠創(chuàng)建類,讀取上面的輸入流,得到會(huì)話工廠SqlSessionFactory類 SqlSessionFactory sqlSessionFactory = builder.build(in); //4. 使用SqlSessionFactory對(duì)象,創(chuàng)建SqlSession對(duì)象 //a) 它相當(dāng)于JDBC中的Connection對(duì)象,提供了操作數(shù)據(jù)庫的CRUD方法 //b) 它提供了一個(gè)getMapper()方法,獲取接口的實(shí)現(xiàn)對(duì)象。 SqlSession sqlSession = sqlSessionFactory.openSession(); //5. 獲取接口 UserMapper 實(shí)現(xiàn)類對(duì)象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); System.out.println('userMapper = ' +userMapper); //6. 執(zhí)行數(shù)據(jù)庫的查詢操作,輸出用戶信息 List<User> userList = userMapper.findAllUsers(); for (User user : userList) { System.out.println(user); } //7. 關(guān)閉會(huì)話,釋放資源。 sqlSession.close(); }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 乐亭县| 信阳市| 六枝特区| 买车| 会东县| 阿荣旗| 雅江县| 温泉县| 石门县| 即墨市| 伊宁县| 冷水江市| 扎囊县| 南部县| 屏东市| 民丰县| 雅安市| 海宁市| 昌平区| 安岳县| 东乌| 宁海县| 始兴县| 鸡东县| 九江县| 广昌县| 东兴市| 长宁县| 博乐市| 郁南县| 永安市| 汤原县| 曲周县| 什邡市| 禹州市| 故城县| 英吉沙县| 肥东县| 双流县| 黄大仙区| 北宁市|