mybatis入门

来源:互联网 发布:业务流程优化方法 编辑:程序博客网 时间:2024/05/17 23:46

mybatis支持普通sql语句查询,跟hibernate一样是后台持久化框架。

先创建一个web项目。导入mybatis的jar包,还有连接mysql数据库的jar包。

创建数据库省略。。。

代码:

实体类:User.java:

package com.mfc.entity;/* * 实体类 * */public class User {private int id;private String userName;private int userAge;private String userAddress;        //构造方法以及set,get方法省略...}

User.xml:

本xml主要用于定义各种SQL语句,还有sql语句需要的参数和返回类型等

<?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"><mapper namespace="com.mfc.entity.User">    <select id="selectUserByID" parameterType="int" resultType="User">        select * from user where id = #{id}    </select></mapper>
Configuration.xml:

本xml用于连接数据库,还有Java类的别名等。

<?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><!-- Configuration.xml是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名非常重要,你在 具体的类的映射中,比如User.xml 中 resultType 就是对应这里的。要保持一致,当然这里的 resultType 还有另外单独的定义方式-->    <typeAliases>         <typeAlias alias="User" type="com.mfc.entity.User"/>     </typeAliases>     <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://127.0.0.1:3306/mybatis" />            <property name="username" value="root"/>            <property name="password" value="root"/>            </dataSource>        </environment>    </environments>        <!--要映射的类的xml配置文件-->    <mappers>        <mapper resource="com/mfc/entity/User.xml"/>    </mappers></configuration>

测试类:Test.java:

package com.mfc.test;import java.io.IOException;import java.io.Reader;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.mfc.entity.User;/** * 对mybatis的测试类 */public class Test {private static SqlSessionFactory sqlSessionFactory;private static Reader reader;static {try {reader = Resources.getResourceAsReader("Configuration.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (IOException e) {e.printStackTrace();}}public static SqlSessionFactory getSession() {return sqlSessionFactory;}public static void main(String[] args) {SqlSession session = sqlSessionFactory.openSession();try {User user = (User) session.selectOne("com.mfc.entity.User.selectUserByID", 1);System.out.println(user.getUserAddress());System.out.println(user.getUserName());} finally {session.close();}}}

经测试,可以打印在控制台上

原创粉丝点击