my bites 入門

MyBatis 是支持定製化 SQL、存儲過程以及高級映射的優秀的持久層框架。

MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。

MyBatis 可以對配置和原生Map使用簡單的 XML 或註解,

將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。


Mybatis入門配置


<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
  
 
<configuration>
	<!-- 引入 config 連接配置文件  需要注意的是 mybatis  引入 包的時候 不能加  /號  -->
	<properties resource="config.properties"></properties>
	
	
	<!--   environments 配置連接數據庫的環境 , development 表示開發者環境  -->
	<environments default="development">
		<environment id="development">
			<!-- 將事務交給JDBC 來管理   Connection   調用 commit 和 rollback 方法 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 設置數據源  連接四要素     (連接池) -->
			<dataSource type="POOLED">
				<property name="driver" value="${driverClass}"/>
        		<property name="url" value="${url}"/>
        		<property name="username" value="${userAccount}"/>
        		<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		<!-- resource 是 配置文件 全包名 映射  -->
		<mapper resource="cn/zj/lesson01/xmlway/xml_emp.xml"/>
		
		
		<mapper resource="cn/zj/lesson01/interfc/Interface_dept.xml"/>
		
		<!-- class 是 接口或者類 全類名 映射  -->
		<mapper class="cn.zj.lesson01.interfc.note.InterfcMybatis2" />
	</mappers>


</configuration>

1.通過配置文件映射Sql(XML)

<?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">
  
  <!-- 命名空間 ,在路徑上加一層上級路徑,避免id重複  在類中調用是 namespace.id  -->
 <mapper namespace="xmls">
 	<!-- id 是 config 配置文件  接入 mapper配置文件的標識符     
 			resultType是返回的類型 ,可以是類型全路徑,
 			也可以是         xxx 類的
 	-->
 	<select id="empselect" resultType="map">
 		select * from emp
 	</select>
 </mapper>

2通過接口直接映射Sql(XML)


<?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">
  
  <!-- 如果要通過接口加配置文件 映射   那麼 namespace 就要填接口的全路徑 -->
 <mapper namespace="cn.zj.lesson01.interfc.InterfcMybatis">
 	<!-- id 就要填入 該接口的方法名   resultType填入 該方法 泛型的類型 -->
 	<select id="selectDept" resultType="map">
 		select * from dept
 	</select>
 </mapper>


3通過接口直接映射Sql(註解)


package cn.zj.lesson01.interfc.note;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Select;

public interface InterfcMybatis2 {
	
	@Select("select * from emp where ename like #{name}")
	public List<Map> selectEmp(@Param(value = "name") String name);
}


需要注意的 #{ } 取參數 ,如果不加 param註解 設置參數

那麼 默認就是param1 ,累加

如#{param1 }

還有可以通過 #{下標的方法} 調取參數


#{ } 和 ${ } 的區別

#{ } 是sql 防注入 ?

${}是直接字符串拼接。

用那個不言而喻。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章