1. 程式人生 > 其它 >網際網路公司python程式設計用的那些技術

網際網路公司python程式設計用的那些技術

resultMap

可解決的問題 屬性名和資料庫中欄位名不一致的問題

mybatis會根據查詢的列名(會將列名轉化為小寫,資料庫不區分大小寫) , 去對應的實體類中查詢相應列名的set方法設值 , 由於找不到時,會返回null

使用結果集對映->ResultMap 解決這個問題

<resultMap id="UserMap" type="User">
   <!-- id為主鍵 -->
   <id column="id" property="id"/>
   <!-- column是資料庫表的列名 , property是對應實體類的屬性名 -->
   <result column="name" property="name"/>
   <result column="pwd" property="password"/>
</resultMap>

<select id="selectUserById" resultMap="UserMap">
  select id , name , pwd from user where id = #{id}
</select>

log4j

通過使用Log4j,我們可以控制日誌資訊輸送的目的地:控制檯,文字,GUI元件

使用步驟:

1.匯入log4j的jar包

<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
</dependency>

2.log4j配置檔案編寫

#將等級為DEBUG的日誌資訊輸出到console和file這兩個目的地,console和file的定義在下面的程式碼
log4j.rootLogger=DEBUG,console,file

#控制檯輸出的相關設定
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n

#檔案輸出的相關設定
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/kuang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

#日誌輸出級別
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

3.setting設定日誌實現

<settings>
   <setting name="logImpl" value="LOG4J"/>
</settings>

4、在程式中使用Log4j進行輸出

//注意導包:org.apache.log4j.Logger
static Logger logger = Logger.getLogger(MyTest.class)

limit實現分頁

使用Limit實現分頁

#語法
SELECT * FROM table LIMIT stratIndex,pageSize

SELECT * FROM table LIMIT 5,10; // 檢索記錄行 6-15  

#為了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 -1:   
SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last.  

#如果只給定一個引數,它表示返回最大的記錄行數目:   
SELECT * FROM table LIMIT 5; //檢索前 5 個記錄行  

#換句話說,LIMIT n 等價於 LIMIT 0,n。