-
mybatis作為持久層的開發查看全部
-
mybatis里面sql循環拼接 逗號查看全部
-
sqlsession調用 方法來執行 sql語句 只是輸入了select標簽的名字,但是并沒有輸入sql配置文件的uri,所以要在數據庫連接的核心配置文件中 導入 sql配置文件,即<mappers>標簽與子標簽<mapper> sqlsession調用時會用到這個名字 resultmap屬性。對應的是resultmap標簽的id mybatis配置文件中的mapper標簽 屬性是namespace 翻譯是命名空間 mapper標簽內包含 resultmap標簽 是執行完查詢語句后返回的結果集 resultmap有子標簽 id。 用來配置 有主鍵約束的行 和result。 用來配置其他行 并列關系 ,都有屬性column jdbctype property屬性 column看名字 就是數據庫的字段名 properry 是數據庫對應dao類中的屬性 select標簽 insert標簽 update標簽。這些標簽里寫的都是sql語句 resultMap 中id是標識,是唯一的。resultMap中的子標簽中的id表示后臺數據庫的主鍵,而result對應得實后臺數據庫除了主鍵以外的其他字段。查看全部
-
6.核心配置文件的配置 ? <environments>:數據庫連接和事務管理器的相關配置 ? <mappers>:引入SQL配置文件(通過子標簽mapper可以引入多個文件) <mapper resource="xx.xx.xx.xml"></mapper> 7.SQL配置文件的配置 ? 四種標簽對應select、delete、insert、update四種語句 ? 命名空間(必須配置):mapper標簽的屬性,用來區分不同命名空間下的相同的id ? select標簽: id屬性:SqlSession調用select方法時用來標識方法的參數(同一命名空間下必須唯一) resultMap屬性:引用相應的resultMap作為查詢結果的映射 ? resultMap標簽:用來映射javabean type屬性:被映射bean的全限定名 id屬性:用于唯一標識一個resultMap,并提供給select引用 子標簽:id主鍵字段,result非主鍵字段 § column屬性:查詢結果中的列名,而不是數據庫中的列名 § property:對象屬性名 § jdbcType:java.sql.Types下的常量名(使用時查文檔即可) ? 完成后的文件必須在核心配置文件中配置查看全部
-
難學呀查看全部
-
alt + / : 輸出main函數的快捷鍵查看全部
-
常見問題解析 一、獲取自增主鍵值: <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.imooc.bean.Command"> insert into command(name,description) values(#{name},#{description}) </insert> //解析:添加數據(在主外鍵的關系中)可以使用 useGeneratedKeys="true",可獲取自增長的id,并配合keyProperty="id"(java中實體類的屬性名)指定該對象的主鍵值。 二、找不到namespace.id的異常效果: 1、在Configuration.xml沒有配置<mappers><mapper resource="*.xml"></mapper></mappers>; 2、在1的配置中或selectList("Message.queryMessageList",message);中,名字寫錯。 三、排查SQL語法錯誤:如果控制臺出現SQL語句問題,復制到SQL軟件上執行,若有參數,手動寫上并執行。 四、不要過度使用${}。 五、亂碼問題: 1. servlet傳參時的編碼:request.setCharacterEncoding("utf-8");或直接使用過濾器; 2. Java文件本身的編碼; 3. 連接數據庫的參數中,設定編碼方式:jdbc:mysql://192.168.1.1:3306/cms?characterEncoding=utf-8 4. 數據庫、表的編碼; 5. 展示頁面的編碼:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6. 瀏覽器編碼問題等。查看全部
-
代碼風格要規范查看全部
-
#{}和OGNL表達式查看全部
-
容易混淆的概念查看全部
-
Ps1: <where><if test=""></if>...</where>標簽相當于“where 1=1 and...”,<where>標簽和where 1=1不可共存,兩者取其一即可。 Ps2: <select> select <include refid="columns"></include> from command </select> <sql id="columns">a.id C_ID,b.id,b.commandId</sql> //作用:增強了維護性,減少代碼復用。 Ps3: //解析:<trim>標簽在<select>/<update>等內使用。prefix在sql語句最前面加上,suffix在sql語句最后面加上,去掉sql語句最前面prefixOverrides,去掉sql語句最后面suffixOverrides。 <trim prefix="where" suffix="test" prefixOverrides="and|or" suffixOverrides=","> //sql語句 </trim> 提示:prefix="where" prefixOverrides="and|or"等價于<where>;prefix="set" suffixOverrides=","等價于<set>。 Ps4: <choose> <when test=""></when> <when test=""></when> <otherwise></otherwise> </choose> 理解1:if—else if—else 理解2:switch—case—case—default Ps5: <collection property="主實體類中的List<子實體類>的對象名" resultMap="子xml中mapper中屬性namespace名.resultMap的id名"/>//這條語句寫在主xml<resultMap>中。 <association property="子實體類中的主實體類的對象名" resultMap="主xml中mapper中屬性namespace名.resultMap的id名"/>//這條語句寫在子xml<resultMap>中。查看全部
-
快捷鍵: 1、Ctrl+Shift+R:查看該高亮部分是哪個類。 2、Alt+Shift+R:選擇高亮部分修改關聯的名稱(不要自己手動去改,否則所有都要自己手動去改)。 注意:rs.getString("列名");這里的列名并不指的是數據庫中的字段名,而是當時select id ID,...語句當中空格后的命名。如果不寫默認是數據庫中的字段名,MyBatis中的xml配置column也同理可得。如果一條select中涉及到多個表,如果為select a.id,b.id...由于column不能加前綴,所以只能給其中一個自定義命名,如(select a.id C_ID,b.id...),否則會出現兩個一樣的id變量名導致報錯。查看全部
-
command.xml里resultmap中的column要跟select語句中的別名一致,而不是跟數據庫里的別名一致, 同時需要注意,select語句中的別名如果采取a.ID這樣的形式,那a這個前綴是要刪除掉的,只能采取 不是點號的a_ID這樣的別名格式。查看全部
-
單條和批量刪除查看全部
-
日志配置log4j查看全部
舉報
0/150
提交
取消