通過MyBatis讀取數(shù)據(jù)庫數(shù)據(jù)并提供rest接口訪問
1 mysql 創(chuàng)建數(shù)據(jù)庫腳本
-- phpMyAdmin SQL Dump -- version 4.2.11 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: 2016-08-02 18:13:50 -- 服務(wù)器版本: 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` -- -- -------------------------------------------------------- -- -- 表的結(jié)構(gòu) `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; -- -- 轉(zhuǎn)存表中的數(shù)據(jù) `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 創(chuàng)建與數(shù)據(jù)庫表Student對應(yīng)的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 創(chuàng)建映射 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. 創(chuàng)建 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" /> <!-- 配置數(shù)據(jù)庫連接信息 --> <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. 創(chuàng)建 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. 啟動調(diào)試

源碼下載:http://xiazai.jb51.net/201605/yuanma/mybatisDemo(jb51).rar
以上所述是小編給大家介紹的通過MyBatis讀取數(shù)據(jù)庫數(shù)據(jù)并提供rest接口訪問,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
java結(jié)合email實(shí)現(xiàn)自動推送功能
這篇文章主要介紹了java結(jié)合email實(shí)現(xiàn)自動推送功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Springboot整合Freemarker的實(shí)現(xiàn)詳細(xì)過程
這篇文章主要介紹了Springboot整合Freemarker的實(shí)現(xiàn)詳細(xì)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Java實(shí)現(xiàn)普通類注入service對象
這篇文章主要介紹了Java實(shí)現(xiàn)普通類注入service對象,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java的MybatisPlus調(diào)用儲存過程的返回?cái)?shù)據(jù)問題
這篇文章主要介紹了java的MybatisPlus調(diào)用儲存過程的返回?cái)?shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項(xiàng)目實(shí)踐
本文主要介紹了Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項(xiàng)目實(shí)踐,將創(chuàng)建一個(gè)簡單的圖書管理應(yīng)用作為示例,并演示如何通過緩存減少對數(shù)據(jù)庫的頻繁查詢,感興趣的可以了解一下2024-01-01
java實(shí)現(xiàn)隨機(jī)森林RandomForest的示例代碼
本篇文章主要介紹了java實(shí)現(xiàn)隨機(jī)森林RandomForest的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08

