微信公众平台是可以开发java调用oracle这类型的接口的,一般通过MyBatis连接Oracle数据库。
举例如下:
1、先建立一个数据库表,名为PERSON_INFO,建表SQL如下:
create TABLE PERSON_INFO
(
id number(12,0) PRIMARY KEY,
name varchar2(20) NOT NULL,
gender char(1) DEFAULT ' ',
remark varchar2(1000),
input_date number(10,0) DEFAULT to_number(to_char(sysdate,'yyyymmdd')),
input_time number(10,0) DEFAULT to_number(to_char(sysdate,'hh24miss'))
)
2、编写java程序,项目中文件的上下级关系如图:
3、构建mybatis配置映射关系
1)、导入JAR包:mybatis-3.2.2.jar、ojdbc14-10.2.0.2.0.jar
2)、建立MyBatis配置文件mybatis-config.xml
4、建立xml文件:PersonInfoMapper.xml,其中实现了一个SQL语句:selectAllPersonInfo,查询所有的PERSON_INFO信息
5、建立对应的Java类:PersonInfo,其中各属性对应于数据表PERSON_INFO中的各字段
public class PersonInfo {
Long id
String name
String gender
String remark
Long inputDate
Long inputTime
public Long getId() {
return id
}
public void setId(Long id) {
this.id = id
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getGender() {
return gender
}
public void setGender(String gender) {
this.gender = gender
}
public String getRemark() {
return remark
}
public void setRemark(String remark) {
this.remark = remark
}
public Long getInputDate() {
return inputDate
}
public void setInputDate(Long inputDate) {
this.inputDate = inputDate
}
public Long getInputTime() {
return inputTime
}
public void setInputTime(Long inputTime) {
this.inputTime = inputTime
}
}
6、建立对应的Java类:PersonInfoMapper
import java.util.List
public interface PersonInfoMapper {
List<PersonInfo> selectAllPersonInfo()
7、建立一个类MyBatisTest用于存放main函数,查询PERSON_INFO表中所有的数据并打印
import java.io.InputStream
import java.util.List
import org.apache.ibatis.io.Resources
import org.apache.ibatis.session.SqlSession
import org.apache.ibatis.session.SqlSessionFactory
import org.apache.ibatis.session.SqlSessionFactoryBuilder
/**
* MyBatis使用测试
* @author pieryon
* @date 2016年4月1日
* @time 下午21:47:01
* @remark
*
*/
public class MyBatisTest {
public static void main(String[] args) {
try {
String resource = "mybatis-config.xml"
InputStream inputStream = Resources.getResourceAsStream(resource)
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream)
SqlSession session = sqlSessionFactory.openSession()
try {
PersonInfoMapper mapper = session.getMapper(PersonInfoMapper.class)
List<PersonInfo> personInfos = mapper.selectAllPersonInfo()
if (personInfos == null) {
System.out.println("The result is null.")
} else {
for (PersonInfo personInfo : personInfos) {
System.out.println("---PersonInfo---")
System.out.println("name:" + personInfo.name)
System.out.println("gender:" + personInfo.gender)
System.out.println("remark:" + personInfo.remark)
System.out.println("inputDate:" + personInfo.inputDate)
System.out.println("inputTime:" + personInfo.inputTime)
System.out.println()
}
}
} finally {
session.close()
}
} catch (Exception ex) {
ex.printStackTrace()
}
}
}
8、运行main函数,控制台输出结果如下:
---PersonInfo---
name:Tsybius
gender:m
remark:-
inputDate:20160229
inputTime:225703
---PersonInfo---
name:Galatea
gender:f
remark:-
inputDate:20160228
inputTime:123456
不是访问你自己的服务么?追问是自己的服务器,感觉自定义菜单是应该在微信的服务器里运行才可以回答自定义的菜单微信里只是一个链接
调用的是你自己的服务
你要自己部署一个服务器
有对外的访问ip追问那是菜单设置完成后考虑的事,链接,公网ip我都有,现在只差这个菜单设置了回答哦
终于搞懂了
那个是微信提供了一个管理的界面啊
可以设置菜单名称
链接之类的追问怪我没说明白,我现在有接口代码,问题是不知道怎么让它部署运行回答tomcat部署服务?是少这个么追问不是,微信公众平台开发者模式首先需要接口来链接你自己的服务器,这个接口我已经用web工程部署运行了,现在可以开发了,就是开发自定义的菜单,我网上找了点代码,现在不知道这些代码该放在web工程的哪里才能运行,上面的接口我是用的servlet,我把代码放到servlet的post方法里执行不了,不知道为何回答那这个跟微信有什么关系
你自己启动一个服务运行不了
这里就涉及到你用的什么框架等等一堆问题
但都是你自己的事,与微信无关追问no,no,no
1,你可以看一下编程工具里有没有出现错误提示2,设置一些输出点,用来检查代码
3,确保你的appid和token填写正确
4,确保你的公众号有这个权限
5,所需的外网能放问的域名配置正确