通过MyBatis读取数据库数据并提供rest接口访问_java

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://xiazai.jb51.net/201605/yuanma/mybatisDemo(jb51).rar

以上所述是小编给大家介绍的通过MyBatis读取数据库数据并提供rest接口访问,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mybatis
, 读取数据
rest接口访问
mybatis resteasy、rest spring mybatis、rest api 数据库、rest数据库、mybatis连接数据库,以便于您获取更多的相关知识。

时间: 2024-08-03 18:25:56

通过MyBatis读取数据库数据并提供rest接口访问_java的相关文章

实现jsp页面二级下拉框联动,实时读取数据库数据

在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常有用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp,main.js,bytetostr.js, 先讲一下main.js,这是javascript,其中注意修改jsp页面名称. 以下为引用的内容: function findObject(fName,initValue)...{   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   xmlht

c#-C#点击load读取数据库数据现需要同时在指定位置创建TXT文件,并把读取的内容生成到TXT文件内部

问题描述 C#点击load读取数据库数据现需要同时在指定位置创建TXT文件,并把读取的内容生成到TXT文件内部 详细如下 这是获取的数据把第一个的B39000-T4061-P810-S09中的P8改成BC,并在前面添加一些东西这是txt结果图. 这是部分代码 namespace LDD__Generator { public partial class LDD : Form { public LDD() { InitializeComponent(); } private void button

c# mssql xml-C#中,读取数据库数据,写入xml文件

问题描述 C#中,读取数据库数据,写入xml文件 C#中,读取数据库数据,比如说表,存储过程,函数等等,然后把这些数据写成xml文件 存入本地硬盘,请各位大神教教我,,, 解决方案 你是 只需要读数据库的资料然后自己根据资料写xml 还是写个程序让机器自己根据从数据库中读出的资料然后生成相应的XML? 解决方案二: 参考一下这个http://bbs.csdn.net/topics/360167449 解决方案三: 读取数据库中的数据应该没有问题吧.写入xml参考:http://blog.csdn

Mybatis update数据库死锁之获取数据库连接池等待_java

 最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题: 1.update失败,原因是数据库死锁 2.select等待,原因是connection连接池被用光了,需要等待 get: 1.要勇于探索,坚持就是胜利.刚看到错误的时候直接懵逼,因为错误完全看不出来,属于框架内部报错,在犹豫是不是直接睡 觉得了,毕竟也快12点了.最后还是给我一点点找到问题所在了. 2.同上,要敢于去深入你不了解的代码,敢于研究不懂的代码. 3.距离一个合格的码农越来越远了,因为

利用PHP语言读取数据库数据的实例

数据|数据库 在学习<十天学会PHP>的过程中,当看到关于数据库连接的问题时,由于知识的不足,遇到了困难.于是找朋友帮忙写了个PHP小程序,在这里贴出来,希望对大家能有帮助.注释是我自己写的. 这段代码的功能是: 连接到一个 url 地址为localhost . 端口为 3306 的mysql服务器上.mysql服务器的帐号是"root",密码是"9999".mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc.表 abc 一共为两列,列

一个利用PHP语言读取数据库数据的例子

在学习<十天学会PHP>的过程中,当看到关于数据库连接的问题时,由于知识的不足,遇到了困难.于是找朋友帮忙写了个PHP小程序,在这里贴出来,希望对大家能有帮助.注释是我自己写的. 这段代码的功能是: 连接到一个 url 地址为localhost . 端口为 3306 的mysql服务器上.mysql服务器的帐号是"root",密码是"9999".mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc.表 abc 一共为两列,列名分别是 &q

Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据_javascript技巧

复制代码 代码如下: /**//// <summary> /// 生成带CDATA的节点 /// </summary> /// <param name="xDocument">XmlDocument</param> /// <param name="elementName">元素名称</param> /// <param name="cdataValue">CDA

读取数据库数据的时候,只显示其中2个属性

问题描述 数据表中有3个属性,id name cityid 读取其中一条记录的时候,只有name和cityid,id的属性读取不出来.var comboCity=new Ext.form.ComboBox({fieldLabel:'城市',emptyText:'请选择',autowidth:true,selectOnFocus:true,forceSelection: true,mode:'local',triggerAction:'all',//triggerAction:'query',na

对象-php代码问题,读取数据库的数据

问题描述 php代码问题,读取数据库的数据 do{ $d=mysqli_query($con,"SELECT AID FROM id WHERE BID='$g'"); mysqli_query($con,"DELETE * FROM id WHERE BID='$g'"); $g=$d; } while($d==0); 这段php代码中$d=mysqli_query($con,"SELECT AID FROM id WHERE BID='$g'"