MyBatis 是一款優秀的持久層框架,它支援客製化 SQL、預存程序以及進階映射。 MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定參數以及取得結果集。 MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java物件)映射成資料庫中的記錄。
第一步:先建立一個項目,平常的Java project就行,專案結構先看看
第二步:導入相關的jar包(可以上網下,開源的):
mybatis-3.4.4.jar MyBatis的jar包
mysql-connector-java-5.1.13-bin.jar Mysql的jar套件
第三步:寫一個設定檔。是XML檔mybatis-config.xml,位置放在src下方
<?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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mobile"/> <property name="username" value="zhou"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/entity/UserMapper.xml"/> </mappers></configuration>
有關MyBatis中xml檔的屬性說明:
#
<!-- 配置文件的根元素 --> <configuration> <!-- 属性:定义配置外在化 --> <properties></properties> <!-- 设置:定义mybatis的一些全局性设置 --> <settings> <!-- 具体的参数名和参数值 --> <setting name="" value=""/> </settings> <!-- 类型名称:为一些类定义别名 --> <typeAliases></typeAliases> <!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 --> <typeHandlers></typeHandlers> <!-- 对象工厂 --> <objectFactory type=""></objectFactory> <!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 --> <plugins> <plugin interceptor=""></plugin> </plugins> <!-- 环境:配置mybatis的环境 --> <environments default=""> <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 --> <environment id=""> <!-- 事务管理器 --> <transactionManager type=""></transactionManager> <!-- 数据源 --> <dataSource type=""></dataSource> </environment> </environments> <!-- 数据库厂商标识 --> <databaseIdProvider type=""></databaseIdProvider> <!-- 映射器:指定映射文件或者映射类 --> <mappers></mappers> </configuration>
<?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可以不加xml后缀 --><mapper namespace="com.entity.UserMapper"><!-- 单个对象查询 --> <select id="selectUser" parameterType="int" resultType="com.entity.User"> select * from user where id = #{id} </select> <!--查询列表 --> <resultMap id="userList" type="com.entity.User"> <result property="id" column="id" /> <result property="username" column="username"/> <result property="password" column="password"/></resultMap> <select id="selectAll" resultMap="userList"> select * from user </select> <!--插入数据 --> <insert id="insert" > insert into User (username,password) values(#{username},#{password}) </insert> <!--更新数据 --><update id="update"> update User set username = #{username},password = #{password} where id = #{id}</update><!--删除数据 --><delete id="delete"> delete from User where id = #{id}</delete></mapper>
package com.test;import java.io.IOException;import java.io.InputStream;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.entity.User;/** * * @author 坚持到你GL * */public class Test { private static SqlSession session=null; public static SqlSession mySession() { //你的MyBatis的配置文件地址 String resource = "mybatis-config.xml"; InputStream inputStream=null; try { //IO解析xml文件 inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //创建一个SqlSessionFactoryBuilder对象,获得SqlSessionFactory 的实例 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //开启SqlSession session=sqlSessionFactory.openSession(); return session; } private static void select(){ //selectUser是实体类映射文件的中设置的id User user=mySession().selectOne("selectUser",2); System.out.println(user); } private static void selectAll() { List<User> list=mySession().selectList("selectAll"); for (User user : list) { System.out.println(user); } } private static void insert() { User insertuser=new User("zhou","123456"); mySession().insert("insert",insertuser); session.commit(); } private static void update() { User updateuser =new User(9,"admin","admin"); mySession().update("update", updateuser); session.commit(); } private static void delect() { mySession().delete("delete", 10); session.commit(); } public static void main(String[] args) { selectAll(); } }
以上是MyBatis簡單使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!