• 通过mybatis读取数据库数据并提供rest接口访问


    1 mysql 创建数据库脚本

    -- phpMyAdmin SQL Dump
    -- version 4.2.11
    -- http://www.phpmyadmin.net
    --
    -- Host: localhost
    -- Generation Time: 2016-08-02 18:13:50
    -- 服务器版本: 5.6.21
    -- PHP Version: 5.6.3
    
    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 */;
    
    --
    -- Database: `mybatis`
    --
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `Student`
    --
    
    CREATE TABLE IF NOT EXISTS `Student` (
    `id` int(10) NOT NULL,
      `name` varchar(256) NOT NULL,
      `age` int(4) NOT NULL
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
    
    --
    -- 转存表中的数据 `Student`
    --
    
    INSERT INTO `Student` (`id`, `name`, `age`) VALUES
    (1, 'zhansan', 20);
    
    --
    -- Indexes for dumped tables
    --
    
    --
    -- Indexes for table `Student`
    --
    ALTER TABLE `Student`
     ADD PRIMARY KEY (`id`);
    
    --
    -- AUTO_INCREMENT for dumped tables
    --
    
    --
    -- AUTO_INCREMENT for table `Student`
    --
    ALTER TABLE `Student`
    MODIFY `id` int(10) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
    /*!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 */;
    

    2  创建与数据库表Student对应的pojo类

    package com.mtour.mybatis.demo;
    
    import javax.xml.bind.annotation.XmlRootElement;
    
    @XmlRootElement
    public class Student {
    	int id;
    	String name;
    	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;
    	}
    }
    

    3  创建映射 studentMapper

    <?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.mtour.mybatis.demo.studentMapper">
        
        <select id="getStudent" parameterType="int" 
            resultType="com.mtour.mybatis.demo.Student">
            select * from Student where id=#{id}
        </select>
    </mapper>
    

    4.  创建 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>
        <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="" />
                </dataSource>
            </environment>
        </environments>
        
        <mappers>
            <mapper resource="com/mtour/mybatis/demo/studentMapper.xml"/>
        </mappers>
        
    </configuration>
    

    5.  创建 rest 资源

    package com.mtour.mybatis.demo;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import javax.ws.rs.GET;  
    import javax.ws.rs.Path;  
    import javax.ws.rs.Produces;  
    import javax.ws.rs.PathParam;  
    import javax.ws.rs.core.MediaType;  
    
    
      
    @Path("/student")  
    public class demo {  
    	
    	static String resource = "conf.xml";
    	static InputStream is = demo.class.getClassLoader().getResourceAsStream(resource);
    	static SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
    	
        @GET  
        @Produces(MediaType.TEXT_PLAIN)  
        public String sayHello() {  
            return "hello jersey , first demo" ;  
        }  
          
        @GET  
        @Path("/{param}")    
        @Produces("text/plain;charset=UTF-8")  
        public String sayHelloToUTF8(@PathParam("param") String username) {  
            return "Hello " + username;  
        }  
        
        @GET  
        @Path("/getstudent/{id}")  
        @Produces(MediaType.APPLICATION_JSON)  
        public Student getUserJson(@PathParam("id") String id) {  
        	
         Integer studentId = Integer.valueOf(id);
         
         
         SqlSession session = sessionFactory.openSession();
        
         String statement = "com.mtour.mybatis.demo.studentMapper.getStudent";
         
         Student s = session.selectOne(statement, studentId);
         
         session.close();
        	
         return s;  
        }
          
        
        
        
    }  
    

    6. 启动调试 

    源码下载: http://download.csdn.net/detail/mtour/9593217

  • 相关阅读:
    JAVA语法之小结
    JAVA之经典Student问题1
    Android之动画1
    Android之屏幕测试
    Android之点击切换图片
    Android之标签选项卡
    Android简单计算器
    Javascript之相册拖动管理
    Javascript之改变盒子颜色
    CSS之照片翻转
  • 原文地址:https://www.cnblogs.com/mtour/p/5731281.html
Copyright © 2020-2023  润新知