zoukankan      html  css  js  c++  java
  • Mybatis学习笔记之一——牛刀小试

    1、Mybaits核心对象SqlSession的作用:

      (1)向SQL语句传入参数;

      (2)执行SQl语句;

      (3)获取执行SQL语句的结果;

      (4)事务的控制;

    2、核心配置文件(Configration.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>
    <!-- 
      <settings>
        <setting name="useGeneratedKeys" value="false"/>
        <setting name="useColumnLabel" value="true"/>
      </settings>
    
      <typeAliases>
        <typeAlias alias="UserAlias" type="org.apache.ibatis.submitted.complex_property.User"/>
      </typeAliases> -->
      <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC">
            <property name="" value=""/>
          </transactionManager>
          <dataSource type="UNPOOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/><!-- 配置sql驱动  -->
            <property name="url" value="jdbc:mysql://localhost:3306/school"/><!-- 配置数据库地,其中school为数据名称 -->
            <!-- jdbc:mysql://127.0.0.1:3306/school  -->
            
            <property name="username" value="root"/><!-- 配置数据库用户名  -->
            <property name="password" value="********"/><!-- 配置数据库密码-->
          </dataSource>
        </environment>
      </environments>
      <mappers>
        <mapper resource="com/sysker/config/Students.xml"/><!-- 需要导入的xml配置文件,一般用于配置表格数据表格 -->
      </mappers>
    </configuration>
    

      

      

    3、获取SqlSession:

      (1)通过配置文件获取数据库连接相关信息:

    Reader reader = Resources.getResourceAsReader("com/sysker/config/Configuration.xml");
    

      (2)通过配置信息构建SqlSessionFactory:

    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
    

      (3)通过sqlSessionFactory打开数据库会话:

    session = sqlSessionFactory.openSession();
    

      下面是完整代码:

    package com.sysker.db;
    
    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 DBAccess {
    	public SqlSession getSqlSession() throws IOException{
    		SqlSession session =null;
    			//通过配置文件获取数据库连接信息
    			Reader reader = Resources.getResourceAsReader("com/sysker/config/Configuration.xml");
    			//通过配置信息构建一个SqlSessionFactory
    			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
    			//通过sqlsessionFactory打开一个数据库会话
    			session = sqlSessionFactory.openSession();
    			
    		return session;
       }
     }
    

     4、配置与数据表格相关的sql语句(Students.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="Studnets">
    
      <resultMap type="com.sysker.beans.Students" id="StudentsResult">
        <id column="id" jdbcType="INTEGER" property="id"/>
        <result column="name" jdbcType="VARCHAR" property="name"/>
        <result column="classname" jdbcType="VARCHAR" property="classname"/>
        <result column="sex" jdbcType="VARCHAR" property="sex"/>
        <result column="age" jdbcType="VARCHAR" property="age"/>
      </resultMap>
    
      <select id="getAllStudents" resultMap="StudentsResult">
        SELECT id,name,classname,sex,age FROM student
      </select>
    </mapper>

      5、通过Dao层来执行SQL操作:

    package com.sysker.dao;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.ibatis.session.SqlSession;
    
    import com.sysker.beans.Students;
    import com.sysker.db.DBAccess;
    import com.sysker.jdbc.DBContol;
    
    public class StudentDAO {
    	
    	
    	public List<Students> getAllStudents(){
    		DBAccess dbAccess = new DBAccess();
    		List<Students> studentsList = new ArrayList<Students>();
    		SqlSession sqlSession = null;
    		try {
    			sqlSession = dbAccess.getSqlSession();
    			//通过sqlSession执行sql语句
    			studentsList = sqlSession.selectList("Students.getAllStudents");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			if(sqlSession!=null){
    			sqlSession.close();
    			}
    		}
    		
    		return studentsList;
    		
    	}
    	
    	public static void main(String[] args) {
    		StudentDAO studentDAO = new StudentDAO();
    		List<Students> studentsList = new ArrayList<Students>();
    		studentsList = studentDAO.getAllStudents();
    		for (Students students : studentsList) {
    			System.out.println(students.toString());
    		}
    	}
    	
    }
    

      

     

  • 相关阅读:
    How to Create a site at the specified URL and new database (CommandLine Operation)
    Using Wppackager to Package and Deploy Web Parts for Microsoft SharePoint Products and Technologies
    SQL Server Monitor v0.5 [Free tool]
    How to build Web Part
    Deploy web part in a virtual server by developing a Web Part Package file(.cab)
    How to recreate "sites" link if you delete it accidentally
    SharePoint Portal Server管理匿名访问设置
    Monitor sql connection from .Net SqlClient Data Provider
    Brief installation instruction of Sharepoint Portal Server
    How to Use SharePoint Alternate URL Access
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/6828334.html
Copyright © 2011-2022 走看看