spring boot+mybatis
service**
controller**
需求:隨機返回某一資料表中列舉型別的屬性的某乙個值給後台。
具體來說,假設資料庫中有乙個表名為』test』的資料表,其中有一屬性名為major的屬性,這一屬性為列舉型別,希望能夠隨機返回其中的某乙個值。資料表名以及屬性名均為變數,需要動態傳參。
delimiter //
drop procedure if exists solve_enum;
create procedure solve_enum (in tablename varchar (25) , in attriname varchar (25) ,out value varchar (25))
begin
set @count := concat(
"select count(*) into @c from (select distinct ", attriname, " from ", tablename, " ) a");
prepare stmt1 from @count;
execute stmt1;
deallocate prepare stmt1;
set @count1 := floor(rand(
)* @c )
;set @sql := concat(
"select * into @value from (select distinct " ,attriname, " from ", tablename, ") a order by ",attriname, " limit ?,1");
prepare stmt from @sql;
execute stmt using @count1;
deallocate prepare stmt;
select @value as value;
end;
//
可以在命令列中測試一下
* 註解形式呼叫儲存過程
* @param map
*/@select
("call solve_enum(#,#,#)"
)@options
(statementtype=statementtype.callable)
hashmap solve_enum
(@param
("map"
)map map)
;
@transactional
public hashmap solve_enum
(@param
("map"
)map map)
string value ="";
hashmap
map =
newhashmap()
; map.
put(
"tablename"
,"test");
map.
put(
"attriname"
,"major");
map.
put(
"value"
, value)
; value = string.
valueof
(service.
solve_enum
(map)
.get
("value"))
; system.out.
println
(value)
;
mybatis 一對多註解方式
這裡演示是一對多關係 乙個使用者擁有多個許可權 我們先查詢出使用者的所有資訊 因為我們需要使用者的id 根據id再做二次查詢 我們主要的sql 分為兩個 1.select from user 2.select distinct r.from role r inner join user role u...
Mybatis 註解形式
1.查詢 查詢 select select id,name,type,numbers,cancelled,completed,percentage from customer list listselectcustomerlistall 多表聯查 所有的關聯實體類必須引入此註解 jsonignore...
MyBatis註解開發
mybatis作為乙個輕量級的半orm框架,由於其上手快 開發快捷,在企業中的中小型專案應用較廣泛,下面我們來演示一下如何使用mybatis的註解開發方式來進行 編寫。開發環境介紹 資料庫使用mysql,mybatis使用3.4.1 沒有使用spring整合 mysql驅動5.1.36。pojo 表...