热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我的第7个java程序--把javaweb项目改为javaproject项目--mybatis

连接数据库需要程序,连接字符串,查询语句主程序-》读取连接字符串-》读取查询语句-》把查询到的值赋值给映射对象-》打印对象属性javaproject的好处,不用做那么多配置,想到什么就去

连接数据库需要

程序,连接字符串,查询语句

主程序-》读取连接字符串-》读取查询语句-》把查询到的值赋值给映射对象-》打印对象属性

java project的好处,不用做那么多配置,想到什么就去干,用来学习比较快

入口文件 HelloWorld.java

package HelloWorld;

import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import HelloWorld.User;
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 HelloWorld {
     public static void main(String[] args) throws IOException {
            //mybatis的配置文件
            String resource = "conf.xml";
           
            //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
            InputStream is = HelloWorld.class.getClassLoader().getResourceAsStream(resource);
            
            //构建sqlSession的工厂
            SqlSessionFactory sessiOnFactory= new SqlSessionFactoryBuilder().build(is);
            //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
            //Reader reader = Resources.getResourceAsReader(resource); 
            //构建sqlSession的工厂
            //SqlSessionFactory sessiOnFactory= new SqlSessionFactoryBuilder().build(reader);
            //创建能执行映射文件中sql的sqlSession
            SqlSession session = sessionFactory.openSession();
            /**
             * 映射sql的标识字符串,
             * me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
             * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
             */
            String statement = "HelloWorld.userMapper.getUser";//映射sql的标识字符串
            
            //执行查询返回一个唯一user对象的sql
            User user = session.selectOne(statement, 1);

            System.out.println(user);
        }
}

映射文件 User.java

package HelloWorld;

/**
 * @author gacl
 * users表所对应的实体类
 */
public class User {

    //实体类的属性和表的字段名称一一对应
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    }
}

查询语句 userMapper.xml





    
    
    

连接字符串 conf.xml


 
  
      default="development">
          
              
              
              
                  
                 
                 
                 
             
         
     
     
     
         
         
     
     
 

目录结构

sql语句(数据库一定要和连接字符串照应)

-- phpMyAdmin SQL Dump
-- version phpStudy 2014
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2015 年 11 月 28 日 18:57
-- 服务器版本: 5.5.38
-- PHP 版本: 5.3.28

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_COnNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- 数据库: `mybatis`
--

-- --------------------------------------------------------

--
-- 表的结构 `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=gbk AUTO_INCREMENT=3 ;

--
-- 转存表中的数据 `users`
--

INSERT INTO `users` (`id`, `NAME`, `age`) VALUES
(1, '孤傲苍狼', 27),
(2, '白虎神皇', 27);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_COnNECTION=@OLD_COLLATION_CONNECTION */;

效果

 

这是一个从helloworld演变过来的程序,主要是抄的网上的代码,能更好的思考运行原理和机制


推荐阅读
author-avatar
书友34624989
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有