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 防注入 ?

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

用那个不言而喻。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值