導航:首頁 > 網路數據 > mybatis查詢大數據類型

mybatis查詢大數據類型

發布時間:2021-03-19 04:26:01

『壹』 mybatis的sql查詢返回數據類型有哪些

在MyBatis進行查詢映射時,其實查詢出來的每一個屬性都是放在一個對應的Map裡面的,其中鍵是屬性名,值則是其對應的值。

3.1 當提供的返回類型屬性是resultType時,MyBatis會將Map裡面的鍵值對取出賦給resultType所指定的對象對應的屬性。所以其實MyBatis的每一個查詢映射的返回類型都是ResultMap,只是當提供的返回類型屬性是resultType的時
候,MyBatis對自動的給把對應的值賦給resultType所指定對象的屬性。

『貳』 mybatis怎麼讀寫clob類型的數據

<?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="com.mzj..BizGovInfoMapper" > <resultMap id="BaseResultMap" type="com.mzj.model.BizGovInfo" > <id column="ID" property="id" jdbcType="CHAR" /> <result column="BAR_ID" property="bar_id" jdbcType="CHAR" /> <result column="INDEX_NUM" property="index_num" jdbcType="VARCHAR" /> <result column="PUB_UNIT" property="pub_unit" jdbcType="VARCHAR" /> <result column="INFO_NAME" property="info_name" jdbcType="VARCHAR" /> <result column="MENO" property="meno" javaType="string" jdbcType="CLOB" /> <result column="FILE_NUM" property="file_num" jdbcType="VARCHAR" /> <result column="CREATE_TIME" property="create_time" jdbcType="TIMESTAMP" /> <result column="STATE" property="state" jdbcType="CHAR" /> <result column="OPEN_LIMIT" property="open_limit" jdbcType="CHAR" /> <result column="INFO_ID" property="info_id" jdbcType="CHAR" /> </resultMap> <select id="findDataGrid" resultMap="BaseResultMap" parameterType="com.mzj.model.BizGovInfo"> select * from BIZ_GOV_INFO t <where> <if test="id != null and id !='' "> t.id = #{id} </if> </where> </select> </mapper>

『叄』 mybatis 框架 查詢oracle數據表中的long類型的數據

恩,是的,類型不對,而且怎麼可能用Long類型來接收CLOB數據呢!

『肆』 mybatis如何讀取clob數據 詳細過程

1、MyBatis介紹

MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。

iBATIS一詞來源於「internet」和「abatis」的組合,是一個基於Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)

2、CLOB

SQL CLOB 是內置類型,它將字元大對象 (Character Large Object) 存儲為資料庫表某一行中的一個列值。默認情況下,驅動程序使用 SQL locator(CLOB) 實現 Clob 對象,這意味著 CLOB 對象包含一個指向 SQL CLOB 數據的邏輯指針而不是數據本身。Clob 對象在它被創建的事務處理期間有效。

3、MyBatis對CLOB類型數據實現增刪改查

oracle表結構

createtableT_USERS
(
IDNUMBERnotnull,
NAMEVARCHAR2(30),
SEXVARCHAR2(3),
BIRSDATE,
MESSAGECLOB
)
createsequenceSEQ_T_USERS_ID
minvalue1
maxvalue99999999
startwith1
incrementby1
cache20;

配置mybatis配置文件UsersMapper.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEmapper
PUBLIC"-//mybatis.org//DTDMapper3.0//EN">

<mappernamespace="examples.mapper.UsersMapper">

<!--ResultMap-->
<resultMaptype="examples.bean.Users"id="BaseResultMap">
<resultproperty="id"column="id"/>
<resultproperty="name"column="name"/>
<resultproperty="sex"column="sex"/>
<resultproperty="birs"column="birs"jdbcType="TIMESTAMP"/>
<resultproperty="message"column="message"jdbcType="CLOB"
javaType="java.lang.String"typeHandler="examples.service.OracleClobTypeHandler"/>
</resultMap>

<sqlid="Tabel_Name">
t_users
</sql>

<!--表中所有列-->
<sqlid="Base_Column_List">
id,name,sex,birs,message
</sql>

<!--查詢條件-->
<sqlid="Example_Where_Clause">
where1=1
<trimsuffixOverrides=",">
<iftest="id!=null">
andid=#{id}
</if>
<iftest="name!=nullandname!=''">
andnamelikeconcat(concat('%','${name}'),'%')
</if>
<iftest="sex!=nullandsex!=''">
andsexlikeconcat(concat('%','${sex}'),'%')
</if>
<iftest="birs!=null">
andbirs=#{birs}
</if>
<iftest="message!=null">
andmessage=#{message}
</if>
</trim>
</sql>

<!--2.查詢列表-->
<selectid="queryByList"resultMap="BaseResultMap"parameterType="Object">
select
<includerefid="Base_Column_List"/>
fromt_users
<includerefid="Example_Where_Clause"/>
</select>
</mapper>

Mapper類介面

packageexamples.mapper;

importjava.util.List;

publicinterfaceUsersMapper<T>{

publicList<T>queryBySelective(Tt);

publicList<T>queryByList(Tt);

}

類型轉換工具

packageexamples.service;

importjava.sql.CallableStatement;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;

importoracle.sql.CLOB;

importorg.apache.ibatis.type.JdbcType;
importorg.apache.ibatis.type.TypeHandler;

<Object>{

publicObjectvalueOf(Stringparam){
returnnull;
}

@Override
publicObjectgetResult(ResultSetarg0,Stringarg1)throwsSQLException{
CLOBclob=(CLOB)arg0.getClob(arg1);
return(clob==null||clob.length()==0)?null:clob.getSubString((long)1,(int)clob.length());
}

@Override
publicObjectgetResult(ResultSetarg0,intarg1)throwsSQLException{
returnnull;
}

@Override
publicObjectgetResult(CallableStatementarg0,intarg1)throwsSQLException{
returnnull;
}

@Override
publicvoidsetParameter(PreparedStatementarg0,intarg1,Objectarg2,JdbcTypearg3)throwsSQLException{
CLOBclob=CLOB.empty_lob();
clob.setString(1,(String)arg2);
arg0.setClob(arg1,clob);
}
}

Spring配置文件

<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="

xmlns:xsi="

xmlns:mvc="
xmlns:tx="
xsi:schemaLocation="
default-autowire="byType">

<!--配置數據源-->
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"><value>oracle.jdbc.driver.OracleDriver</value></property>
<propertyname="url"><value>jdbc:oracle:thin:@127.0.0.1:1521:pms</value></property>
<propertyname="username"><value>pms</value></property>
<propertyname="password"><value>pms</value></property>
</bean>

<!--配完數據源和擁有的sql映射文件sqlSessionFactory也可以訪問資料庫和擁有sql操作能力了-->
<!--
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<propertyname="configLocation"value="classpath:mybatis-config.xml"/>
</bean>
-->
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<propertyname="mapperLocations">
<list>
<value>classpath:examples/mybatis/oracle/UsersMapper.xml</value>
</list>
</property>
</bean>

<!--通過設置mapperInterface屬性,使介面服務bean和對應xml文件管理可以使用其中的sql-->
<beanid=""class="org.mybatis.spring.mapper.MapperFactoryBean">
<!--此處等同於Mybatis中ServerDaoserverDao=sqlSession.getMapper(ServerDao.class);指明映射關系-->
<propertyname="mapperInterface"value="examples.mapper.UsersMapper"/>
<propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>
</bean>
</beans>

測試類

packageexamples.service;

importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.List;

importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.;

importexamples.bean.Users;
importexamples.mapper.UsersMapper;

publicclassTestUsersService{

@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)throwsParseException{
ApplicationContextac=
new("classpath:/examples/service/spring.xml");
UsersMapper<Users>=(UsersMapper<Users>)ac.getBean("");

//查詢
UsersnullBean=newUsers();
List<Users>list=.queryByList(nullBean);
if(list!=null){
for(Usersuser:list){
System.out.println(user);
}
}

}

}

『伍』 mybatis 都能返回什麼類型啊

Batis的返回值參數類型也有種:resultMap與resultClass
這兩種類型的選擇可以用兩句話說明之:
一:當結果集列名和類的屬性名完全相對應的時候,則可直接用resultClass直接指定查詢結果類型。
二:當查詢結果集與屬性名對應不上的時候,就可以採用resultMap指定列名與對象屬性名之間的對應關系,否則對應不上的屬性將為null或0。

『陸』 Mybatis里java數據類型與資料庫數據類型之間轉換是不是比較重要

重要,但只要匹配、符合需求就行

『柒』 springboot + mybatis java 怎麼處理大數據分批查詢

springboot + mybatis java 怎麼處理大數據分批查詢
這里用到spring-boot-starter基礎和spring-boot-starter-test用來做單元測試驗證數據訪問 引入連接mysql的必要依賴版mysql-connector-java 引入整合權MyBatis的核心依賴mybatis-spring-boot-starter 這里不引入spring-boot-starter-jdbc依賴

『捌』 MyBatis 讀取 Mysql Blob類型的SQL怎麼寫

MySQL中的blob,mediumblob ,longblob 可以映射到mybatis中 的byte[] 類型 ,需要mybatis的org.apache.ibatis.type.BlobTypeHandler 類型轉換處理器的支持。
<resultMap type="java.util.Map" id="imgResultMap" >
<result property="imgBytes" column="imgBytes" jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BlobTypeHandler"/>
</resultMap>

<select id="findBookImg" parameterType="string" resultMap="imgResultMap" >
SELECT a.`imgBytes` FROM `t_book` a WHERE a.`id`=#{_parameter}
</select>

『玖』 mybatis bigdecimal 對應什麼類型

SQL數據類型和Java數據類型的對應關系
integer、int ---> int
tinyint、smallint ---> short
bigint ---> long
decimal、numeric ---> java.math.BigDecimal
float ---> float
double ---> double
char、varchar ---> String
boolean、bit ---> boolean
date ---> java.sql.Date
time ---> java.sql.Time
timestamp ---> java.sql.Timestamp
blob ---> java.sql.Blob
clob ---> java.sql.Clob
array ---> java.sql.Array

『拾』 請問:mybatis查詢某表的某個欄位的最大值並返回,該如何寫mapper的配置文件

<select id="findMax" parameterType="string">

select max(${fieldName}) from ...

</select>

閱讀全文

與mybatis查詢大數據類型相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接