IBATIS2.0映射文件 oracle/mysql 版实现示例,功能全面且丰富
IBATIS2.0映射文件oracle/mysql版实现示例,功能全面且丰富,开发参考可以提高一定效率,还不错。呵呵。 实现的功能 1.保存物资项目。 2.保存物资变更记录集合。 3.查询处理返回内容字段。 iBATIS Oracle MySQL ?xml version="1.0" encoding="UTF-8" standalon
IBATIS2.0映射文件 oracle/mysql 版实现示例,功能全面且丰富,开发参考可以提高一定效率,还不错。呵呵。实现的功能
1.保存物资项目。
2.保存物资变更记录集合。
3.查询处理返回内容字段。 iBATIS Oracle MySQL
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="HuGoods"> <!-- hu_goods --> <sql id="Goods_Base_Column_List" > <!-- WARNING - @mbggenerated This element is automatically generated by MyBatis Generator, do not modify. This element was generated on Fri Dec 12 11:53:06 CST 2014. --> HUGS_ID, HUGS_NAME, HUGS_BRAND, HUGS_VERSION, HUGS_PRODUCT_DATE, HUGS_ASSET_CODE, HUGS_PRICE, HUGS_DEPT_ID, HUGS_DEPT_NAME, HUGS_USER_ID, HUGS_USER_NAME, HUGS_USE_RESON, HUGS_USE_STATUS, HUGS_DESCR, HUGS_STATUS, HUGS_CREATOR, HUGS_CREATE_TIME, HUGS_UPDATE, HUGS_UPDATE_TIME,HUGS_COMPANY </sql> <!-- where条件 --> <sql id="Goods_Where_Clause" > <dynamic prepend="WHERE HUGS_STATUS = 1"> <isNotEmpty property="HUGS_ASSET_CODE"> AND HUGS_ASSET_CODE LIKE '%$HUGS_ASSET_CODE$%' </isNotEmpty> <isNotEmpty property="HUGS_NAME"> AND HUGS_NAME LIKE '%$HUGS_NAME$%' </isNotEmpty> <isNotEmpty property="HUGS_DEPT_NAME"> AND HUGS_DEPT_NAME LIKE '%$HUGS_DEPT_NAME$%' </isNotEmpty> <isNotEmpty property="HUGS_USER_NAME"> AND HUGS_USER_NAME LIKE '%$HUGS_USER_NAME$%' </isNotEmpty> <isNotEmpty property="HUGS_USE_RESON"> AND HUGS_USE_RESON LIKE '%$HUGS_USE_RESON$%' </isNotEmpty> <isNotEmpty property="HUGS_COMPANY"> AND HUGS_COMPANY = #HUGS_COMPANY# </isNotEmpty> </dynamic> </sql> <!-- 物资总数 --> <select id="getGoodsListCnt" resultClass="java.lang.Integer" parameterClass="java.util.HashMap"> SELECT COUNT(*) FROM HU_GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> </isParameterPresent> </select> <!-- 物资分页集合查询 --> <select id="getGoodsPageList" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <!-- oracle version --> SELECT * FROM ( SELECT A .*, ROWNUM r FROM ( SELECT <include refid="HuGoods.Goods_Base_Column_List" /> FROM HU_GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> ) A WHERE ROWNUM <![CDATA[ <= ]]> #end# ) B WHERE r <![CDATA[>]]> #start# <!-- mysql version --> <!-- SELECT <include refid="HuGoods.Goods_Base_Column_List" /> FROM HU_GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> LIMIT #start#,#end# --> </select> <!-- 物资EXLS导出数据 --> <select id="getGoodsEXLSList" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <!-- oracle version --> SELECT ( SELECT WM_CONCAT ( EM.HUGI_DESCR || ' ' ||'变更时间:'||TO_CHAR(EM.HUGI_CHANGE_DATE,'YYYY-MM-DD') ) FROM HU_GOODS_ITEM EM WHERE EM.HUGI_GOODS_ID = GOODS.HUGS_ID ) AS ITEMS, GOODS.HUGS_NAME, GOODS.HUGS_BRAND, GOODS.HUGS_VERSION, GOODS.HUGS_PRODUCT_DATE, GOODS.HUGS_ASSET_CODE, GOODS.HUGS_PRICE, GOODS.HUGS_DEPT_NAME, GOODS.HUGS_USER_NAME, GOODS.HUGS_USE_RESON, GOODS.HUGS_DESCR, GOODS.HUGS_COMPANY, CASE GOODS.HUGS_USE_STATUS WHEN 1 THEN '使用中' WHEN 2 THEN '在库' ELSE '作废' END HUGS_USE_STATUS ,CASE GOODS.HUGS_CHECK_STATUS WHEN 0 THEN '尚未盘点' WHEN -1 THEN '问题物资' ELSE '盘点无误' END HUGS_CHECK_STATUS FROM HU_GOODS GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> </isParameterPresent> ORDER BY GOODS.HUGS_ID ASC <!-- mysql version --> <!-- SELECT GROUP_CONCAT( CONCAT( "变更:", CONVERT ( IFNULL(EM.HUGI_USER_ID, ""), CHAR ), "_", IFNULL(EM.HUGI_USER_NAME, ""), "_", IFNULL(EM.HUGI_DEPT_NAME, ""), "_", IFNULL(EM.HUGI_DESCR, "") ) ) AS ITEMS, GOODS.HUGS_NAME, GOODS.HUGS_BRAND, GOODS.HUGS_VERSION, GOODS.HUGS_PRODUCT_DATE, GOODS.HUGS_ASSET_CODE, GOODS.HUGS_PRICE, GOODS.HUGS_DEPT_NAME, GOODS.HUGS_USER_NAME, GOODS.HUGS_USE_RESON, GOODS.HUGS_DESCR, CASE GOODS.HUGS_USE_STATUS WHEN '1' THEN '使用中' WHEN '2' THEN '在库' ELSE '作废' END HUGS_USE_STATUS FROM HU_GOODS GOODS LEFT JOIN HU_GOODS_ITEM EM ON EM.HUGI_GOODS_ID = GOODS.HUGS_ID GROUP BY GOODS.HUGS_ID ORDER BY GOODS.HUGS_ID ASC --> </select> <!-- 查询物资公司种类 --> <select id="getGoodsCompany" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> SELECT OG.HUGS_COMPANY FROM HU_GOODS OG WHERE OG.HUGS_ID IN( SELECT MAX(GOOD.HUGS_ID) FROM HU_GOODS GOOD GROUP BY GOOD.HUGS_COMPANY ) ORDER BY OG.HUGS_ID ASC </select> <!-- 添加物资 --> <insert id="addGoods" parameterClass="java.util.HashMap"> <!-- mysql version --> <!-- INSERT INTO HU_GOODS ( `HUGS_ID`, `HUGS_NAME`, `HUGS_BRAND`, `HUGS_VERSION`, `HUGS_PRODUCT_DATE`, `HUGS_ASSET_CODE`, `HUGS_PRICE`, `HUGS_DEPT_ID`, `HUGS_DEPT_NAME`, `HUGS_USER_ID`, `HUGS_USER_NAME`, `HUGS_USE_RESON`, `HUGS_USE_STATUS`, `HUGS_DESCR`, `HUGS_STATUS`, `HUGS_CREATOR`, `HUGS_CREATE_TIME`, `HUGS_UPDATE`, `HUGS_UPDATE_TIME` ) VALUES ( NULL, #HUGS_NAME#, #HUGS_BRAND#, #HUGS_VERSION#,#HUGS_PRODUCT_DATE#,#HUGS_ASSET_CODE#,#HUGS_PRICE#,#HUGS_DEPT_ID#,#HUGS_DEPT_NAME#,#HUGS_USER_ID#,#HUGS_USER_NAME#,#HUGS_USE_RESON#,#HUGS_USE_STATUS#,#HUGS_DESCR#,#HUGS_STATUS#,#HUGS_CREATOR#,SYSDATE(), #HUGS_UPDATE#, SYSDATE() ); <selectKey resultClass="java.lang.Integer" keyProperty="HUGS_ID"> SELECT LAST_INSERT_ID() </selectKey> --> <!-- oracle version --> <selectKey resultClass="java.lang.Integer" keyProperty="HUGS_ID" type="pre"> SELECT HU_GOODS_SQ.NEXTVAL AS VALUE FROM DUAL </selectKey> INSERT INTO HU_GOODS ( HUGS_ID, HUGS_NAME, HUGS_BRAND, HUGS_VERSION, HUGS_PRODUCT_DATE, HUGS_ASSET_CODE, HUGS_PRICE, HUGS_DEPT_ID, HUGS_DEPT_NAME, HUGS_USER_ID, HUGS_USER_NAME, HUGS_USE_RESON, HUGS_USE_STATUS, HUGS_DESCR, HUGS_STATUS, HUGS_CREATOR, HUGS_CREATE_TIME, HUGS_UPDATE, HUGS_UPDATE_TIME, HUGS_COMPANY ) VALUES ( #HUGS_ID#, #HUGS_NAME#, #HUGS_BRAND#, #HUGS_VERSION#,#HUGS_PRODUCT_DATE#,#HUGS_ASSET_CODE#,#HUGS_PRICE#,#HUGS_DEPT_ID#,#HUGS_DEPT_NAME#,#HUGS_USER_ID#,#HUGS_USER_NAME#,#HUGS_USE_RESON#,#HUGS_USE_STATUS#,#HUGS_DESCR#,#HUGS_STATUS#,#HUGS_CREATOR#,SYSDATE, #HUGS_UPDATE#, SYSDATE, #HUGS_COMPANY# ) </insert> <!-- 更新物资 --> <update id="updateGoods" parameterClass="java.util.HashMap"> <!-- oracle version --> UPDATE HU_GOODS SET HUGS_NAME=#HUGS_NAME#, HUGS_BRAND=#HUGS_BRAND#, HUGS_VERSION=#HUGS_VERSION#,HUGS_PRODUCT_DATE=#HUGS_PRODUCT_DATE#,HUGS_PRICE=#HUGS_PRICE#,HUGS_DEPT_ID=#HUGS_DEPT_ID#,HUGS_DEPT_NAME=#HUGS_DEPT_NAME#,HUGS_USER_ID=#HUGS_USER_ID#,HUGS_USER_NAME=#HUGS_USER_NAME#,HUGS_USE_RESON=#HUGS_USE_RESON#,HUGS_USE_STATUS=#HUGS_USE_STATUS#,HUGS_DESCR=#HUGS_DESCR#,HUGS_STATUS=#HUGS_STATUS#,HUGS_CREATOR=#HUGS_CREATOR#,HUGS_UPDATE_TIME=SYSDATE where HUGS_ASSET_CODE=#HUGS_ASSET_CODE# <!-- mysql version --> <!-- UPDATE HU_GOODS SET HUGS_NAME=#HUGS_NAME#, HUGS_BRAND=#HUGS_BRAND#, HUGS_VERSION=#HUGS_VERSION#,HUGS_PRODUCT_DATE=#HUGS_PRODUCT_DATE#,HUGS_PRICE=#HUGS_PRICE#,HUGS_DEPT_ID=#HUGS_DEPT_ID#,HUGS_DEPT_NAME=#HUGS_DEPT_NAME#,HUGS_USER_ID=#HUGS_USER_ID#,HUGS_USER_NAME=#HUGS_USER_NAME#,HUGS_USE_RESON=#HUGS_USE_RESON#,HUGS_USE_STATUS=#HUGS_USE_STATUS#,HUGS_DESCR=#HUGS_DESCR#,HUGS_STATUS=#HUGS_STATUS#,HUGS_CREATOR=#HUGS_CREATOR#,HUGS_UPDATE_TIME=SYSDATE() where HUGS_ASSET_CODE=#HUGS_ASSET_CODE# --> </update> <!-- 查询固定资产编码数量 --> <select id="selectHugsAssetCodeCount" parameterClass="java.util.HashMap" resultClass="int"> SELECT COUNT(HG.HUGS_ID) AS COUNT FROM HU_GOODS HG WHERE HG.HUGS_ASSET_CODE=#HUGS_ASSET_CODE# </select> <!-- 由固定资产编码查询对应的记录id集合 --> <select id="selectGoodsIdListByHugsAssetCode" parameterClass="java.util.HashMap" resultClass="java.util.HashMap"> SELECT HG.HUGS_ID FROM HU_GOODS HG WHERE HG.HUGS_ASSET_CODE=#HUGS_ASSET_CODE# </select> <!-- ################################################################################# --> <!-- HU_GOODS_ITEM --> <!-- 变更项列集合 --> <sql id="Goods_Item_Base_Column_List" > <!-- WARNING - @mbggenerated This element is automatically generated by MyBatis Generator, do not modify. This element was generated on Fri Dec 12 11:53:06 CST 2014. --> HUGI_ID, HUGI_GOODS_ID, HUGI_DEPT_ID, HUGI_DEPT_NAME, HUGI_USER_ID, HUGI_USER_NAME, HUGI_USE_RESON, HUGI_USE_STATUS, HUGI_DESCR, HUGI_STATUS, HUGI_CREATOR, HUGI_CREATE_TIME, HUGI_UPDATE, HUGI_UPDATE_TIME </sql> <!-- where条件 --> <sql id="Goods_Item_Where_Clause" > <dynamic prepend="WHERE 1=1"> <isNotEmpty property="HUGI_GOODS_ID"> AND HUGI_GOODS_ID = #HUGI_GOODS_ID# </isNotEmpty> <isNotEmpty property="HUGI_DEPT_NAME"> AND HUGI_DEPT_NAME LIKE '%$HUGI_DEPT_NAME$%' </isNotEmpty> <isNotEmpty property="HUGI_USER_NAME"> AND HUGI_USER_NAME LIKE '%$HUGI_USER_NAME$%' </isNotEmpty> <isNotEmpty property="HUGI_USE_RESON"> AND HUGI_USE_RESON LIKE '%$HUGI_USE_RESON$%' </isNotEmpty> </dynamic> </sql> <!-- 物资变更项总数 --> <select id="getGoodsItemListCnt" resultClass="java.lang.Integer" parameterClass="java.util.HashMap"> SELECT COUNT(*) FROM HU_GOODS_ITEM <isParameterPresent > <include refid="HuGoods.Goods_Item_Where_Clause" /> </isParameterPresent> </select> <!-- 物资变更项分页集合查询 --> <select id="getGoodsItemPageList" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <!-- oracle version --> SELECT * FROM ( SELECT A .*, ROWNUM r FROM ( SELECT <include refid="HuGoods.Goods_Item_Base_Column_List" /> FROM HU_GOODS_ITEM <isParameterPresent > <include refid="HuGoods.Goods_Item_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> ) A WHERE ROWNUM <![CDATA[ <= ]]> #end# ) B WHERE r <![CDATA[>]]> #start# <!-- mysql version --> <!-- SELECT <include refid="HuGoods.Goods_Item_Base_Column_List" /> FROM HU_GOODS_ITEM <isParameterPresent > <include refid="HuGoods.Goods_Item_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> LIMIT #start#,#end# --> </select> <!-- 添加记录明细 --> <insert id="addGoodsItem" parameterClass="java.util.HashMap"> <!-- oracle version --> <selectKey resultClass="java.lang.Integer" keyProperty="HUGI_ID" type="pre"> SELECT HU_GOODS_ITEM_SQ.NEXTVAL AS VALUE FROM DUAL </selectKey> INSERT INTO HU_GOODS_ITEM (HUGI_ID,HUGI_GOODS_ID, HUGI_DEPT_ID, HUGI_DEPT_NAME, HUGI_USER_ID, HUGI_USER_NAME, HUGI_USE_RESON, HUGI_USE_STATUS, HUGI_DESCR, HUGI_STATUS, HUGI_CREATOR, HUGI_CREATE_TIME, HUGI_UPDATE, HUGI_UPDATE_TIME) VALUES (#HUGI_ID#,#HUGI_GOODS_ID#, #HUGI_DEPT_ID#, #HUGI_DEPT_NAME#, #HUGI_USER_ID#, #HUGI_USER_NAME#, #HUGI_USE_RESON#, #HUGI_USE_STATUS#, #HUGI_DESCR#, #HUGI_STATUS#, #HUGI_CREATOR#, SYSDATE, #HUGI_UPDATE#, SYSDATE) <!-- mysql version --> <!-- INSERT INTO HU_GOODS_ITEM (HUGI_GOODS_ID, HUGI_DEPT_ID, HUGI_DEPT_NAME, HUGI_USER_ID, HUGI_USER_NAME, HUGI_USE_RESON, HUGI_USE_STATUS, HUGI_DESCR, HUGI_STATUS, HUGI_CREATOR, HUGI_CREATE_TIME, HUGI_UPDATE, HUGI_UPDATE_TIME) VALUES (#HUGI_GOODS_ID:INTEGER#, #HUGI_DEPT_ID:VARCHAR#, #HUGI_DEPT_NAME:VARCHAR#, #HUGI_USER_ID:INTEGER#, #HUGI_USER_NAME:VARCHAR#, #HUGI_USE_RESON:VARCHAR#, #HUGI_USE_STATUS:INTEGER#, #HUGI_DESCR:VARCHAR#, #HUGI_STATUS:INTEGER#, #HUGI_CREATOR:VARCHAR#, SYSDATE(), #HUGI_UPDATE:VARCHAR#, SYSDATE()) <selectKey resultClass="java.lang.Integer" keyProperty="HUGI_ID"> SELECT LAST_INSERT_ID() AS HUGI_ID </selectKey> --> </insert> <!-- 删除物资变更明细 --> <delete id="deleteGoodsItem" parameterClass="java.util.HashMap"> DELETE FROM HU_GOODS_ITEM WHERE HUGI_ID =#HUGI_ID# </delete> </sqlMap>
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="HuGoods"> <!-- hu_goods --> <sql id="Goods_Base_Column_List" > <!-- WARNING - @mbggenerated This element is automatically generated by MyBatis Generator, do not modify. This element was generated on Fri Dec 12 11:53:06 CST 2014. --> HUGS_ID, HUGS_NAME, HUGS_BRAND, HUGS_VERSION, HUGS_PRODUCT_DATE, HUGS_ASSET_CODE, HUGS_PRICE, HUGS_DEPT_ID, HUGS_DEPT_NAME, HUGS_USER_ID, HUGS_USER_NAME, HUGS_USE_RESON, HUGS_USE_STATUS, HUGS_DESCR, HUGS_STATUS, HUGS_CREATOR, HUGS_CREATE_TIME, HUGS_UPDATE, HUGS_UPDATE_TIME,HUGS_COMPANY </sql> <!-- where条件 --> <sql id="Goods_Where_Clause" > <dynamic prepend="WHERE HUGS_STATUS = 1"> <isNotEmpty property="HUGS_ASSET_CODE"> AND HUGS_ASSET_CODE LIKE '%$HUGS_ASSET_CODE$%' </isNotEmpty> <isNotEmpty property="HUGS_NAME"> AND HUGS_NAME LIKE '%$HUGS_NAME$%' </isNotEmpty> <isNotEmpty property="HUGS_DEPT_NAME"> AND HUGS_DEPT_NAME LIKE '%$HUGS_DEPT_NAME$%' </isNotEmpty> <isNotEmpty property="HUGS_USER_NAME"> AND HUGS_USER_NAME LIKE '%$HUGS_USER_NAME$%' </isNotEmpty> <isNotEmpty property="HUGS_USE_RESON"> AND HUGS_USE_RESON LIKE '%$HUGS_USE_RESON$%' </isNotEmpty> <isNotEmpty property="HUGS_COMPANY"> AND HUGS_COMPANY = #HUGS_COMPANY# </isNotEmpty> </dynamic> </sql> <!-- 物资总数 --> <select id="getGoodsListCnt" resultClass="java.lang.Integer" parameterClass="java.util.HashMap"> SELECT COUNT(*) FROM HU_GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> </isParameterPresent> </select> <!-- 物资分页集合查询 --> <select id="getGoodsPageList" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <!-- oracle version --> SELECT * FROM ( SELECT A .*, ROWNUM r FROM ( SELECT <include refid="HuGoods.Goods_Base_Column_List" /> FROM HU_GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> ) A WHERE ROWNUM <![CDATA[ <= ]]> #end# ) B WHERE r <![CDATA[>]]> #start# <!-- mysql version --> <!-- SELECT <include refid="HuGoods.Goods_Base_Column_List" /> FROM HU_GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> LIMIT #start#,#end# --> </select> <!-- 物资EXLS导出数据 --> <select id="getGoodsEXLSList" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <!-- oracle version --> SELECT ( SELECT WM_CONCAT ( EM.HUGI_DESCR || ' ' ||'变更时间:'||TO_CHAR(EM.HUGI_CHANGE_DATE,'YYYY-MM-DD') ) FROM HU_GOODS_ITEM EM WHERE EM.HUGI_GOODS_ID = GOODS.HUGS_ID ) AS ITEMS, GOODS.HUGS_NAME, GOODS.HUGS_BRAND, GOODS.HUGS_VERSION, GOODS.HUGS_PRODUCT_DATE, GOODS.HUGS_ASSET_CODE, GOODS.HUGS_PRICE, GOODS.HUGS_DEPT_NAME, GOODS.HUGS_USER_NAME, GOODS.HUGS_USE_RESON, GOODS.HUGS_DESCR, GOODS.HUGS_COMPANY, CASE GOODS.HUGS_USE_STATUS WHEN 1 THEN '使用中' WHEN 2 THEN '在库' ELSE '作废' END HUGS_USE_STATUS ,CASE GOODS.HUGS_CHECK_STATUS WHEN 0 THEN '尚未盘点' WHEN -1 THEN '问题物资' ELSE '盘点无误' END HUGS_CHECK_STATUS FROM HU_GOODS GOODS <isParameterPresent > <include refid="HuGoods.Goods_Where_Clause" /> </isParameterPresent> ORDER BY GOODS.HUGS_ID ASC <!-- mysql version --> <!-- SELECT GROUP_CONCAT( CONCAT( "变更:", CONVERT ( IFNULL(EM.HUGI_USER_ID, ""), CHAR ), "_", IFNULL(EM.HUGI_USER_NAME, ""), "_", IFNULL(EM.HUGI_DEPT_NAME, ""), "_", IFNULL(EM.HUGI_DESCR, "") ) ) AS ITEMS, GOODS.HUGS_NAME, GOODS.HUGS_BRAND, GOODS.HUGS_VERSION, GOODS.HUGS_PRODUCT_DATE, GOODS.HUGS_ASSET_CODE, GOODS.HUGS_PRICE, GOODS.HUGS_DEPT_NAME, GOODS.HUGS_USER_NAME, GOODS.HUGS_USE_RESON, GOODS.HUGS_DESCR, CASE GOODS.HUGS_USE_STATUS WHEN '1' THEN '使用中' WHEN '2' THEN '在库' ELSE '作废' END HUGS_USE_STATUS FROM HU_GOODS GOODS LEFT JOIN HU_GOODS_ITEM EM ON EM.HUGI_GOODS_ID = GOODS.HUGS_ID GROUP BY GOODS.HUGS_ID ORDER BY GOODS.HUGS_ID ASC --> </select> <!-- 查询物资公司种类 --> <select id="getGoodsCompany" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> SELECT OG.HUGS_COMPANY FROM HU_GOODS OG WHERE OG.HUGS_ID IN( SELECT MAX(GOOD.HUGS_ID) FROM HU_GOODS GOOD GROUP BY GOOD.HUGS_COMPANY ) ORDER BY OG.HUGS_ID ASC </select> <!-- 添加物资 --> <insert id="addGoods" parameterClass="java.util.HashMap"> <!-- mysql version --> <!-- INSERT INTO HU_GOODS ( `HUGS_ID`, `HUGS_NAME`, `HUGS_BRAND`, `HUGS_VERSION`, `HUGS_PRODUCT_DATE`, `HUGS_ASSET_CODE`, `HUGS_PRICE`, `HUGS_DEPT_ID`, `HUGS_DEPT_NAME`, `HUGS_USER_ID`, `HUGS_USER_NAME`, `HUGS_USE_RESON`, `HUGS_USE_STATUS`, `HUGS_DESCR`, `HUGS_STATUS`, `HUGS_CREATOR`, `HUGS_CREATE_TIME`, `HUGS_UPDATE`, `HUGS_UPDATE_TIME` ) VALUES ( NULL, #HUGS_NAME#, #HUGS_BRAND#, #HUGS_VERSION#,#HUGS_PRODUCT_DATE#,#HUGS_ASSET_CODE#,#HUGS_PRICE#,#HUGS_DEPT_ID#,#HUGS_DEPT_NAME#,#HUGS_USER_ID#,#HUGS_USER_NAME#,#HUGS_USE_RESON#,#HUGS_USE_STATUS#,#HUGS_DESCR#,#HUGS_STATUS#,#HUGS_CREATOR#,SYSDATE(), #HUGS_UPDATE#, SYSDATE() ); <selectKey resultClass="java.lang.Integer" keyProperty="HUGS_ID"> SELECT LAST_INSERT_ID() </selectKey> --> <!-- oracle version --> <selectKey resultClass="java.lang.Integer" keyProperty="HUGS_ID" type="pre"> SELECT HU_GOODS_SQ.NEXTVAL AS VALUE FROM DUAL </selectKey> INSERT INTO HU_GOODS ( HUGS_ID, HUGS_NAME, HUGS_BRAND, HUGS_VERSION, HUGS_PRODUCT_DATE, HUGS_ASSET_CODE, HUGS_PRICE, HUGS_DEPT_ID, HUGS_DEPT_NAME, HUGS_USER_ID, HUGS_USER_NAME, HUGS_USE_RESON, HUGS_USE_STATUS, HUGS_DESCR, HUGS_STATUS, HUGS_CREATOR, HUGS_CREATE_TIME, HUGS_UPDATE, HUGS_UPDATE_TIME, HUGS_COMPANY ) VALUES ( #HUGS_ID#, #HUGS_NAME#, #HUGS_BRAND#, #HUGS_VERSION#,#HUGS_PRODUCT_DATE#,#HUGS_ASSET_CODE#,#HUGS_PRICE#,#HUGS_DEPT_ID#,#HUGS_DEPT_NAME#,#HUGS_USER_ID#,#HUGS_USER_NAME#,#HUGS_USE_RESON#,#HUGS_USE_STATUS#,#HUGS_DESCR#,#HUGS_STATUS#,#HUGS_CREATOR#,SYSDATE, #HUGS_UPDATE#, SYSDATE, #HUGS_COMPANY# ) </insert> <!-- 更新物资 --> <update id="updateGoods" parameterClass="java.util.HashMap"> <!-- oracle version --> UPDATE HU_GOODS SET HUGS_NAME=#HUGS_NAME#, HUGS_BRAND=#HUGS_BRAND#, HUGS_VERSION=#HUGS_VERSION#,HUGS_PRODUCT_DATE=#HUGS_PRODUCT_DATE#,HUGS_PRICE=#HUGS_PRICE#,HUGS_DEPT_ID=#HUGS_DEPT_ID#,HUGS_DEPT_NAME=#HUGS_DEPT_NAME#,HUGS_USER_ID=#HUGS_USER_ID#,HUGS_USER_NAME=#HUGS_USER_NAME#,HUGS_USE_RESON=#HUGS_USE_RESON#,HUGS_USE_STATUS=#HUGS_USE_STATUS#,HUGS_DESCR=#HUGS_DESCR#,HUGS_STATUS=#HUGS_STATUS#,HUGS_CREATOR=#HUGS_CREATOR#,HUGS_UPDATE_TIME=SYSDATE where HUGS_ASSET_CODE=#HUGS_ASSET_CODE# <!-- mysql version --> <!-- UPDATE HU_GOODS SET HUGS_NAME=#HUGS_NAME#, HUGS_BRAND=#HUGS_BRAND#, HUGS_VERSION=#HUGS_VERSION#,HUGS_PRODUCT_DATE=#HUGS_PRODUCT_DATE#,HUGS_PRICE=#HUGS_PRICE#,HUGS_DEPT_ID=#HUGS_DEPT_ID#,HUGS_DEPT_NAME=#HUGS_DEPT_NAME#,HUGS_USER_ID=#HUGS_USER_ID#,HUGS_USER_NAME=#HUGS_USER_NAME#,HUGS_USE_RESON=#HUGS_USE_RESON#,HUGS_USE_STATUS=#HUGS_USE_STATUS#,HUGS_DESCR=#HUGS_DESCR#,HUGS_STATUS=#HUGS_STATUS#,HUGS_CREATOR=#HUGS_CREATOR#,HUGS_UPDATE_TIME=SYSDATE() where HUGS_ASSET_CODE=#HUGS_ASSET_CODE# --> </update> <!-- 查询固定资产编码数量 --> <select id="selectHugsAssetCodeCount" parameterClass="java.util.HashMap" resultClass="int"> SELECT COUNT(HG.HUGS_ID) AS COUNT FROM HU_GOODS HG WHERE HG.HUGS_ASSET_CODE=#HUGS_ASSET_CODE# </select> <!-- 由固定资产编码查询对应的记录id集合 --> <select id="selectGoodsIdListByHugsAssetCode" parameterClass="java.util.HashMap" resultClass="java.util.HashMap"> SELECT HG.HUGS_ID FROM HU_GOODS HG WHERE HG.HUGS_ASSET_CODE=#HUGS_ASSET_CODE# </select> <!-- ################################################################################# --> <!-- HU_GOODS_ITEM --> <!-- 变更项列集合 --> <sql id="Goods_Item_Base_Column_List" > <!-- WARNING - @mbggenerated This element is automatically generated by MyBatis Generator, do not modify. This element was generated on Fri Dec 12 11:53:06 CST 2014. --> HUGI_ID, HUGI_GOODS_ID, HUGI_DEPT_ID, HUGI_DEPT_NAME, HUGI_USER_ID, HUGI_USER_NAME, HUGI_USE_RESON, HUGI_USE_STATUS, HUGI_DESCR, HUGI_STATUS, HUGI_CREATOR, HUGI_CREATE_TIME, HUGI_UPDATE, HUGI_UPDATE_TIME </sql> <!-- where条件 --> <sql id="Goods_Item_Where_Clause" > <dynamic prepend="WHERE 1=1"> <isNotEmpty property="HUGI_GOODS_ID"> AND HUGI_GOODS_ID = #HUGI_GOODS_ID# </isNotEmpty> <isNotEmpty property="HUGI_DEPT_NAME"> AND HUGI_DEPT_NAME LIKE '%$HUGI_DEPT_NAME$%' </isNotEmpty> <isNotEmpty property="HUGI_USER_NAME"> AND HUGI_USER_NAME LIKE '%$HUGI_USER_NAME$%' </isNotEmpty> <isNotEmpty property="HUGI_USE_RESON"> AND HUGI_USE_RESON LIKE '%$HUGI_USE_RESON$%' </isNotEmpty> </dynamic> </sql> <!-- 物资变更项总数 --> <select id="getGoodsItemListCnt" resultClass="java.lang.Integer" parameterClass="java.util.HashMap"> SELECT COUNT(*) FROM HU_GOODS_ITEM <isParameterPresent > <include refid="HuGoods.Goods_Item_Where_Clause" /> </isParameterPresent> </select> <!-- 物资变更项分页集合查询 --> <select id="getGoodsItemPageList" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <!-- oracle version --> SELECT * FROM ( SELECT A .*, ROWNUM r FROM ( SELECT <include refid="HuGoods.Goods_Item_Base_Column_List" /> FROM HU_GOODS_ITEM <isParameterPresent > <include refid="HuGoods.Goods_Item_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> ) A WHERE ROWNUM <![CDATA[ <= ]]> #end# ) B WHERE r <![CDATA[>]]> #start# <!-- mysql version --> <!-- SELECT <include refid="HuGoods.Goods_Item_Base_Column_List" /> FROM HU_GOODS_ITEM <isParameterPresent > <include refid="HuGoods.Goods_Item_Where_Clause" /> <isNotEmpty property="sortField"> ORDER BY $sortField$ $sortOrder$ </isNotEmpty> </isParameterPresent> LIMIT #start#,#end# --> </select> <!-- 添加记录明细 --> <insert id="addGoodsItem" parameterClass="java.util.HashMap"> <!-- oracle version --> <selectKey resultClass="java.lang.Integer" keyProperty="HUGI_ID" type="pre"> SELECT HU_GOODS_ITEM_SQ.NEXTVAL AS VALUE FROM DUAL </selectKey> INSERT INTO HU_GOODS_ITEM (HUGI_ID,HUGI_GOODS_ID, HUGI_DEPT_ID, HUGI_DEPT_NAME, HUGI_USER_ID, HUGI_USER_NAME, HUGI_USE_RESON, HUGI_USE_STATUS, HUGI_DESCR, HUGI_STATUS, HUGI_CREATOR, HUGI_CREATE_TIME, HUGI_UPDATE, HUGI_UPDATE_TIME) VALUES (#HUGI_ID#,#HUGI_GOODS_ID#, #HUGI_DEPT_ID#, #HUGI_DEPT_NAME#, #HUGI_USER_ID#, #HUGI_USER_NAME#, #HUGI_USE_RESON#, #HUGI_USE_STATUS#, #HUGI_DESCR#, #HUGI_STATUS#, #HUGI_CREATOR#, SYSDATE, #HUGI_UPDATE#, SYSDATE) <!-- mysql version --> <!-- INSERT INTO HU_GOODS_ITEM (HUGI_GOODS_ID, HUGI_DEPT_ID, HUGI_DEPT_NAME, HUGI_USER_ID, HUGI_USER_NAME, HUGI_USE_RESON, HUGI_USE_STATUS, HUGI_DESCR, HUGI_STATUS, HUGI_CREATOR, HUGI_CREATE_TIME, HUGI_UPDATE, HUGI_UPDATE_TIME) VALUES (#HUGI_GOODS_ID:INTEGER#, #HUGI_DEPT_ID:VARCHAR#, #HUGI_DEPT_NAME:VARCHAR#, #HUGI_USER_ID:INTEGER#, #HUGI_USER_NAME:VARCHAR#, #HUGI_USE_RESON:VARCHAR#, #HUGI_USE_STATUS:INTEGER#, #HUGI_DESCR:VARCHAR#, #HUGI_STATUS:INTEGER#, #HUGI_CREATOR:VARCHAR#, SYSDATE(), #HUGI_UPDATE:VARCHAR#, SYSDATE()) <selectKey resultClass="java.lang.Integer" keyProperty="HUGI_ID"> SELECT LAST_INSERT_ID() AS HUGI_ID </selectKey> --> </insert> <!-- 删除物资变更明细 --> <delete id="deleteGoodsItem" parameterClass="java.util.HashMap"> DELETE FROM HU_GOODS_ITEM WHERE HUGI_ID =#HUGI_ID# </delete> </sqlMap>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

MySQLプライマリキーは、データベース内の各行を一意に識別するキー属性であるため、空にすることはできません。主キーが空になる可能性がある場合、レコードを一意に識別することはできません。これにより、データの混乱が発生します。一次キーとして自己挿入整数列またはUUIDを使用する場合、効率やスペース占有などの要因を考慮し、適切なソリューションを選択する必要があります。

MySQLはJSONデータを返すことができます。 json_extract関数はフィールド値を抽出します。複雑なクエリについては、Where句を使用してJSONデータをフィルタリングすることを検討できますが、そのパフォーマンスへの影響に注意してください。 JSONに対するMySQLのサポートは絶えず増加しており、最新バージョンと機能に注意を払うことをお勧めします。

MySQLはAndroidで直接実行できませんが、次の方法を使用して間接的に実装できます。Androidシステムに構築されたLightWeight Database SQLiteを使用して、別のサーバーを必要とせず、モバイルデバイスアプリケーションに非常に適したリソース使用量が少ない。 MySQLサーバーにリモートで接続し、データの読み取りと書き込みのためにネットワークを介してリモートサーバー上のMySQLデータベースに接続しますが、強力なネットワーク依存関係、セキュリティの問題、サーバーコストなどの短所があります。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

MySQLは、複数の同時接続を処理し、マルチスレッド/マルチプロセスを使用して、各クライアントのリクエストに独立した実行環境を割り当てて、邪魔されないことを確認できます。ただし、同時接続の数は、システムリソース、MySQL構成、クエリパフォーマンス、ストレージエンジン、ネットワーク環境の影響を受けます。最適化では、コードレベル(効率的なSQLの書き込み)、構成レベル(MAX_Connectionの調整)、ハードウェアレベル(サーバー構成の改善)などの多くの要因を考慮する必要があります。

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。
