zoukankan      html  css  js  c++  java
  • MyBatis第一个案例-----永远的HelloWorld 含所有代码

    1.创建表emp

    CREATE DATABASE mybatis;
    USE mybatis;
    CREATE TABLE emp(
    id INT(11) PRIMARY KEY AUTO_INCREMENT,
    last_name VARCHAR(255),
    gender CHAR(1),
    email VARCHAR(255)
    );

    2.编写javaBean

    package cn.bdqn.mybatis.been;
    
    public class Emp {
    	private Integer id;
    	private String last_name;
    	private String email;
    	private String gender;
    	public Integer getId() {
    		return id;
    	}
    	public void setId(Integer id) {
    		this.id = id;
    	}
    	public String getLast_name() {
    		return last_name;
    	}
    	public void setLast_name(String last_name) {
    		this.last_name = last_name;
    	}
    	public String getEmail() {
    		return email;
    	}
    	public void setEmail(String email) {
    		this.email = email;
    	}
    	public String getGender() {
    		return gender;
    	}
    	public void setGender(String gender) {
    		this.gender = gender;
    	}
    	@Override
    	public String toString() {
    		return "Emp [id=" + id + ", last_name=" + last_name + ", email="
    				+ email + ", gender=" + gender + "]";
    	}
    	
    	
    }
    

      

    3添加需要的jar包

    第一个是log4j的jar包(记录日志文件所需) 第二个是mybatis的核心jar包(必须),第三个是mysql的驱动jar包(必须)

    4.创建需要的配置文件

    第一个是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">
    <!--namespace:名称空间  -->
    <mapper namespace="cn.bdqn.mybatis.empMapper">
    <!--
    id,唯一标识 
    resultType:返回值类型,bean的全限定名称
    
    #{id},从传递过来的参数中取出id值,相当于换位符
     -->
    <select id="selectEmp" resultType="cn.bdqn.mybatis.been.Emp">
    select * from emp where id = #{id}
    </select>
    </mapper>

    第二个是log4j记录日志所需

    第三个是mybatis全局配置文件

    <?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/mybatis?"/>
    <property name="username" value="root"/>
    <property name="password" value="admin"/>
    </dataSource>
    </environment>
    </environments>
    <!--将我们写好的SQL映射文件一定要注册到全局配置文件中  -->
    <mappers>
    <mapper resource="empMapper.xml"/>
    </mappers>
    </configuration>
    

      5,然后可以编写我们的第一个Hello word

    package cn.bdqn.mybatis.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 cn.bdqn.mybatis.been.Emp;
    public class MyBatisTest {
    	/**
    	 * 1.根据xml配置文件(全局配置文件),创建一个SqlSessionFactory对象
    	 * 			有数据源的一些运行环境信息
    	 * 2.	sql映射文件,配置了每一个sql,以及sql的封装规则等.
    	 * 3将sql映射文件注册在全局配置文件中
    	 * 4写代码:	
    	 * 				1).根据全解决配置文件得到SqlSessionFactory;
    	 * 				2)使用SqlSessionFactory工厂获取到SqlSession对象,使用SqlSession实例来执行增删改查
    	 * 						一个SqlSession实例就是代表和数据库的一次会话
    	 * 				3)使用sql的唯一标识来告诉MyBatis执行哪个sql,sql都是保存在SQL映射文件中(empMapper.xml)
    	 * @throws IOException
    	 */
    	public void test() throws IOException{
    		String resource = "mybatis-config.xml";
    		InputStream inputStream = Resources.getResourceAsStream(resource);
    		SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
    		/**
    		 * 2.获取SqlSession的实例,能够直接执行已经映射的sql语句
    		 * sql的唯一标识:statement Unique identifier matching the statement to use
    		 * 执行sql要用的参数parameter A parameter object to pass to the statement.
    		 */
    		SqlSession openSession = sqlSessionFactory.openSession();
    		/**
    		 * openSession.selectOne(arg0, arg1)
    		 * 第一个参数是:nameSpace+id
    		 */
    		try{
    			Emp emp = (Emp)openSession.selectOne("cn.bdqn.mybatis.empMapper.selectEmp", 1);
    			System.out.println(emp);
    		}finally{
    			openSession.close();
    		}
    		
    	
    	}
    
    }
    

      

  • 相关阅读:
    A Simple Problem with Integers poj 3468 多树状数组解决区间修改问题。
    Fliptile 开关问题 poj 3279
    Face The Right Way 一道不错的尺取法和标记法题目。 poj 3276
    Aggressive cows 二分不仅仅是查找
    Cable master(二分题 注意精度)
    B. Pasha and String
    Intervals poj 1201 差分约束系统
    UITextField的快速基本使用代码块
    将UIImage转换成圆形图片image
    color转成image对象
  • 原文地址:https://www.cnblogs.com/zqr99/p/7575877.html
Copyright © 2011-2022 走看看