现有一个c++项目,然后想用Java写一个数据库接口,c++通过zheg可以通过这个接口查询到数据库的数据,这个怎么实现啊,我是实习生来到一家公司实习
访问数据库跟语言无关,只不过不同的语言使用的方法不同。具体参考这篇博客
http://blog.csdn.net/javaniuniu/article/details/52403509
我会Java链接数据库,也在自己的数据库实现基本功能,但是我们现在就是有个项目,安防那方面的。然后就是让我们写个数据库接口,意思就是使用我们公司安防产品的,我们需要获取他们数据库的y一些东西,然后存到我们这,但是这个接口怎么写啊,不能一个一个改数据库URL吧
两个程序访问同一个数据库就可以了
http://www.cnblogs.com/aniuer/archive/2012/09/10/2679241.html
http://www.cnblogs.com/joeblackzqq/p/4332945.html
webservice吗,跨平台。其他语言调用java写的webservice接口,数据传输基于xml或json!
现在的主要问题是,我这边怎么写,才能实现和自己公司项目的对接,那个连别人的以后再说,主要是我一直不清楚这个概念,我自己写的程序可以对自己的数据库进行操作,他那边c++说的好像就是要一个参数,那个参数就可以实现对查询,然后说的那个参数就是我写的数据库接口,我写了一种就是web的,用json写的,然后就是可以查询了,但是就是不清楚他说的那个接口。因为也没人指导我们,他们也不太懂,所以就是一直很懵逼
按你这么说的话,就是要用webserve来实现了
开发基于B/S结构项目:目前主要采用三种服务器端语言:JSP,PHP,ASP.NET。
这三种语言构成三种常用应用开发组合:JSP+Oracle组合、PHP+MySQL体系、以及ASP.NET+SQL Server体系。
B/S 结构语言分成浏览器编程语言和服务器端编程语言。
浏览器端包括HTML,CSS,JavaScript和VBScript语言。
所谓浏览器端编程语言就是这些语言都是被浏览器解释执行的。HTML和CSS是由浏览器解释的,JavaScript和VBScript语言也是在浏览器上执行的。
为了实现一些复杂的操作,比如连接数据库,操作文件等,需要使用服务器端编程语言。目前主要是3P(ASP.NET,JSP和PHP)技术。
Linux+PHP+MySQL(一种中小型数据库管理系统)构成全免费的而且非常稳定的应用平台。
看你的问题的意思,简单来说是这样的: C++通过接口可以查询数据库,这个接口是java写的
所以你要解决的就是这个:
至于c++那边怎么调用你不用管,你只需要保证你这边的接口可以用,传入参数,能够传出查询的结果就行了
我的理解是这样
说白了其实就是写一个 webservice
真的是非常非常感谢,大家不惜花费宝贵的时间和精力在一个素未蒙面的陌生人身上,真的是不知道怎么感谢大家了,我也是刚来公司,今年大四,才来实习不久,对于工作真的不知道怎么办才好,大家的帮助真的很有用,在一次说声谢谢了,祝大家zaiy以后的工作中能够称心如意,顺顺利利,家庭阖家幸福,事业步步高升
举个例子吧,接口:
public void getUser(){
if(getParaToInt("id")==null){ //id为传的参数
renderJson("{\"status\":\"error\",\"reason\":\"id缺失\"}");
return;
}
int id = getParaToInt("id"); //id为传的参数
User user = User.dao.findById(id);
if(user!=null){
renderJson(user);
}else{
renderJson("{\"status\":\"error\",\"reason\":\"用户不存在\"}");
}
}
请求链接:http://localhost/test/getUser 返回: {"status":"error","reason":"id缺失"}
请求链接:http://localhost/test/getUser?id=2 返回:{"status":"error","reason":"用户不存在"}
请求链接:http://localhost/test/getUser?id=27468 返回: {"id":27468,"schoolid":"10002","sex":"女","username":"MAC","inputdate":"2016-04-19","age":24,"origin":"","stdid":"201210020135"}
id是传入的参数,renderJson()里的内容是输出的json。发布到服务器就能用域名请求了,框架不一样可能实现语句不一样,但原理就这样了。
@WebService(targetNamespace = "http://www.anfang.cn/webservice/dataService/", serviceName = "dataService")
@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
public interface DataService {
/**
*
* @param json
* @return
*/
String getParam(String json);
}
// 下面是实现
@Component
@WebService(endpointInterface = "cn.anfang.webservice.DataService")
public class DataServiceImpl implements DataService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
String getParam(String json) {
// 业务
}
}
@SpringBootApplication
public class Application {
@Value("${server.baseAddress}")
private String baseAddress;
@Bean
public SimpleJaxWsServiceExporter simpleJaxWsServiceExporter(){
SimpleJaxWsServiceExporter simpleJaxWsServiceExporter=new SimpleJaxWsServiceExporter();
simpleJaxWsServiceExporter.setBaseAddress(baseAddress);
return simpleJaxWsServiceExporter;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
// 配置文件application.properties
server.baseAddress=http://0.0.0.0:9091/
spring.datasource.url = jdbc:sqlserver://127.0.0.1;databaseName=TESTDB
spring.datasource.username = sa
spring.datasource.password = 123456
spring.datasource.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver
#HTTP
server.port=8081
以上,用的spring boot。直接运行main()启动,webservice就算发布了,地址为:http://localhost:9091/?wsdl(localhost改为你的服务器地址),