zoukankan      html  css  js  c++  java
  • Mybatis

    1. jdbc

       1 package com.gcl.jdbc;
       2 
       3 import java.sql.Connection;
       4 import java.sql.DriverManager;
       5 import java.sql.PreparedStatement;
       6 import java.sql.ResultSet;
       7 
       8 public class JDBCTest {
       9     public static void main(String[] args) throws Exception {
      10         String url="jdbc:mysql://localhost:3306/mybatis_study";
      11         String user="root";
      12         String password="root";
      13         String sql = "select * from user where username=?;";
      14         //加载驱动    
      15         Class.forName("com.mysql.jdbc.Driver");
      16         //获取连接
      17         Connection conn = DriverManager.getConnection(url, user, password);
      18         //获取预处理statement
      19         PreparedStatement pst = conn.prepareStatement(sql);
      20         //设置参数
      21         pst.setString(1, "张三丰");
      22         //获得查询结果集
      23         ResultSet ret = pst.executeQuery();
      24         //遍历结果集
      25         while(ret.next()){
      26             System.out.println(ret.getString("username"));
      27         }
      28         ret.close();
      29         pst.close();
      30         conn.close();
      31     }
      32 
      33 }
      View Code

      问题:开启关闭连接,造成数据库资源浪费,降低性能;SQL硬编码到代码中,不利于维护

    2. Mybatis入门程序
      添加jar包


      SqlMapConfig.xml是Mybatis核心配置文件,在里面配置数据源等,在里面还加入了编写有sql语句的User.xml文件
      配置log4j使sql语句打印到控制台:加入log4j和slf4j的包,然后在log4j.properties中

      1 # Global logging configuration
      2 #开发环境日志级别DEBUG 生产环境INFO或error
      3 log4j.rootLogger=DEBUG, stdout
      4 # Console output...
      5 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      6 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      7 log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
      8 #log4j.logger.org.apache=INFO
      log4j.properties

      测试代码:

       1 package com.gcl.test;
       2 
       3 import java.io.InputStream;
       4 
       5 import org.apache.ibatis.io.Resources;
       6 import org.apache.ibatis.session.SqlSession;
       7 import org.apache.ibatis.session.SqlSessionFactory;
       8 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
       9 import org.junit.Test;
      10 
      11 import com.gcl.po.User;
      12 
      13 public class TSET {
      14 
      15     @Test
      16     public void test() throws Exception {
      17         String resource = "mybatis/SqlMapConfig.xml";
      18         InputStream is = Resources.getResourceAsStream(resource);
      19         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
      20                 .build(is);
      21         SqlSession sqlsession = sqlSessionFactory.openSession();
      22         User user = sqlsession.selectOne("test.getUserbyid", 10);
      23         System.out.println(user.getAddress());
      24         sqlsession.close();
      25     }
      26 
      27 }
      View Code
  • 相关阅读:
    HTML标签和属性三
    HTML标签和属性二
    HTML标签和属性一
    小程序相关面试题
    Vue路由的hash模式与history模式的区别?
    android中VideoView播放sd卡上面的视频
    Android中app开机自启动的开发
    java中byte,byte[]和int之间的转换
    Android多activity启动两种方式浅谈
    Android开发用到的几种常用设计模式浅谈(一):组合模式
  • 原文地址:https://www.cnblogs.com/gucl/p/8263504.html
Copyright © 2011-2022 走看看