Mybatis学习笔记-入门
来源:互联网 发布:sql查询分析器下载 编辑:程序博客网 时间:2024/05/18 02:09
User.java实体类
public class User {private int id;private String username;private int age;//...}//数据库表对应实体类
userMapper.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"><mapper namespace="com.mybatis.beans.userMapper"><!-- 根据id查询得到一个user对象 --> <select id="getUser" parameterType="int" resultType="com.mybatis.beans.User"> select * from users where id=#{id} </select></mapper>
conf.xml
<?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><!-- development 开发模式work 工作模式 --><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/mybatis" /><property name="username" value="root" /><property name="password" value="123456" /></dataSource></environment></environments><mappers><mapper resource="com/mybatis/beans/userMapper.xml"/></mappers></configuration>
测试方法
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;public class Test {public static void main(String[] args) throws IOException {String resource = "conf.xml";//加载Mybatis的配置文件(它也加载关联的映射文件)Reader reader = Resources.getResourceAsReader(resource);//构建SqlSession的工厂SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//创建能执行映射文件中SQL语句的SqlSession SqlSession session = sessionFactory.openSession();//映射SQL的标识字符串String s = "com.mybatis.beans.userMapper" + ".getUser";//执行查询返回一个唯一的User对象User user = session.selectOne(s, 3);//关闭sessionsession.close();System.out.println(user);}}
或者使用下面的方法测试
public static void test() {String resource = "conf.xml";InputStream inputStream = Test.class.getClassLoader().getResourceAsStream(resource);SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession session = factory.openSession();String s = "com.mybatis.beans.userMapper" + ".getUser";User user = session.selectOne(s, 3);session.close();System.out.println(user);}
可以写一个工具类来获取SqlSessionFactory
import java.io.InputStream;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.mybatis.beans.Test;public class MybatisUtil {public static SqlSessionFactory getFactory() {String resource = "conf.xml";InputStream inputStream = Test.class.getClassLoader().getResourceAsStream(resource);SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);return factory;}}
可以将连接数据库的配置写到db.properties中
db.properties
jdbc.username=rootjdbc.password=123456jdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql://localhost:3306/mybatis
conf.xml
<?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><!-- development 开发模式work 工作模式 --><properties resource="db.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="${jdbc.driverClass}" /><property name="url" value="${jdbc.jdbcUrl}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/mybatis/beans/userMapper.xml"/></mappers></configuration>
添加log4j
①添加log4j-1.2.17.jar到类路径下
②添加log4j.xml到src下
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" /></layout></appender><logger name="java.sql"><level value="debug" /></logger><logger name="org.apache.ibatis"><level value="debug" /></logger><root><level value="debug" /><appender-ref ref="STDOUT" /></root></log4j: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"><mapper namespace="com.atguigu.day03_mybaits.test4.orderMapper"><!-- ①根据id查询orders表得到一个order对象order_id order_no order_price 是数据库表中的字段id orderNo price 是实体类中的字段 --><select id="getOrder" parameterType="int" resultType="Order">SELECT order_id id, order_no orderNo, order_price price FROM orders WHERE order_id=#{id}</select><select id="getOrder2" parameterType="int" resultMap="getOrder2Map">SELECT * FROM orders WHERE order_id=#{id}</select><!-- ② 定义一个键值对映射resultMap : 封装一些映射关系id : 专门针对主键result : 针对一般字段--><resultMap type="Order" id="getOrder2Map"><id property="id" column="order_id"/><result property="orderNo" column="order_no"/><result property="price" column="order_price"/></resultMap></mapper>
http://yunpan.cn/cgwRwJYafX3sv 提取码 fad7
本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1558965
0 0
- mybatis学习笔记---入门
- Mybatis学习笔记-入门
- Mybatis入门学习笔记
- Mybatis学习笔记-入门案例
- Mybatis学习笔记(一)入门例子
- # MyBatis学习笔记(一)快速入门
- mybatis学习笔记(3)-入门程序一
- mybatis学习笔记(3)-入门程序二
- MyBatis学习笔记(一)入门
- 入门demo---Mybatis学习笔记(三)
- Mybatis学习笔记(一):入门
- MyBatis学习笔记(二)快速入门
- 入门demo---Mybatis学习笔记(三)
- Mybatis学习笔记(三)【入门程序一】
- Mybatis学习笔记(四)【入门程序二】
- MyBatis入门示例——MyBatis学习笔记之一
- MyBatis入门示例——MyBatis学习笔记之一
- MyBatis入门示例——MyBatis学习笔记之一
- Spring4学习笔记-声明式事务(基于注解的方式)
- Spring4学习笔记-声明式事务(基于配置文件的方式)
- Spring4学习笔记-Spring4整合Struts2(基于配置文件的方式)
- android selector用法
- Spring4学习笔记-Spring4整合Hibernate4
- Mybatis学习笔记-入门
- Mybatis学习笔记-CURD(基于配置文件的方式)
- Mybatis学习笔记-CURD(基于注解的方式)
- Mybatis学习笔记-一对一关联
- Mybatis学习笔记-一对多关联
- Mybatis学习笔记-动态SQL与模糊查询
- Mybatis学习笔记-调用存储过程
- Mybatis学习笔记-一级缓存与二级缓存
- HDU 2509 Be the Winner (Nim博弈)