my bites 入门

来源:互联网 发布:apache cloudstack 编辑:程序博客网 时间:2024/06/05 18:42

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

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

用那个不言而喻。



原创粉丝点击