myBatis入门
2018-02-26 11:31
155 查看
一概述
后台框架不是orm(操作对象来操作表)
二入门代码
1.环境
(1)jar包 mysql数据库驱动包 myBatis相关jar包 (2)配置文件 log4j.properties SqlMapConfig.xml 核心配置文件 user.xml 表映射配置文件 写数据库语句 (3)其他 数据库表的pojo类(字段对应)
配置文件注意事项: 核心配置配置文件中要导入sql映射文件() <mappers> <mapper resource="sqlmap/User.xml"/> </mappers>
2.代码
测试代码package com.itheima.test; import java.io.IOException; import java.io.InputStream; 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.itheima.domain.User; public class MyBatisTest { public static void main(String[] args) throws Exception { //1.获得sqlSession对象 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //Resouces是Mybatis提供的工具类 SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); //2.调用相关方法完成业务操作 User user = sqlSession.selectOne("findUserById", 1); //正好对应<select id="" parameterType="" resultType="">select * from user where id = #{id}</select> System.out.println(user); //注意#{}相当于占位符 //3.释放资源 , 每一个sqlSession就是一个连接 sqlSession.close(); } }
配置文件内容
1.核心配置文件
<?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> <!-- 和spring整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理--> <transactionManager type="JDBC" /> <!-- 数据库连接池--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <!--将Users.xml添加在SqlMapConfig.xml --> <mapper resource="sqlmap/User.xml"/> </mappers> </configuration>
2.. user.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper P 4000 UBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="test"> <!-- id为sql语句的id,parameterType 参数类型 , resultType 返回的类型 (实体类要写类全名)--> <select id="findUserById" parameterType="int" resultType="com.itheima.domain.User"> SELECT * from user where id= #{id} </select> </mapper>