MyBatis est un excellent framework de couche de persistance qui prend en charge le SQL personnalisé, les procédures stockées et le mappage avancé. MyBatis évite presque tout le code JDBC, le réglage manuel des paramètres et la récupération des jeux de résultats. MyBatis peut utiliser du XML simple ou des annotations pour configurer et mapper les informations natives, les interfaces de mappage et les POJO Java (Plain Old Java Objects, objets Java ordinaires) dans les enregistrements de la base de données.
Étape 1 : Créez d'abord un projet, juste un projet Java ordinaire. Jetez d'abord un œil à la structure du projet
Étape 2 : Importez le package jar correspondant (peut être téléchargé depuis le site officiel, open source) :<?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>
<!-- 配置文件的根元素 --> <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>
Étape 6 : écrivez une classe de test à tester. si ce que vous avez construit est utile
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(); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!