使用MyEclipse对MongoDB数据库 进行增删改查操作

前面写了一篇MongoDB的下载与安装,接下来此篇写的是MongoDB数据库在JAVA程序中的基本功能:

使用MyEclipseMongoDB数据库进行增删改查操作

1.导入JAR包

 

 

使用了Spring3.0;此类包,可以上网查询“MongoDB相关JAR包”

2.创建一个Person实体类

源代码如下:

public class Person(){
//属性
Private String id;	 //id
Private String name;	 //name
Private int age;	 //age
//构造方法
public Person(){
}
public Person(String name,int age){
this.name = name;
this.age  = age;
}
public Person(String id,String name,int age){
this.id	  = id;
this.name = name;
this.age  = age;
}
public String toString(){
return “Person[ id = ”+id+“name=”+name+“age=”+age +”]”;
}
/**以下为属性的get/set方法**/
.................................
}
 
/**以上代码中一共有三个构造方法,用于传递参数数据**/ 
 


3.创建一个方法接口

 

1. 创建一个名为AbstractRepository 的接口,源代码如下:

public interface AbstractRepository(){
//增加方法
public void insert(Person person);
//按ID查询对象
public Person findOne(String id);
//查询所有
public List<Person> findAll();
//按ID删除
public void removeOne(String id);
//删除所有
public void removeAll();
//查询并修改
public void findAndModfy(String id);
}
 

4.接口方法实现类

1.创建一个名为PersonRepository的类并现实AbstractRepository 接口

源代码如下:

public class PersonRepository implements AbstractRepository{
 
Private MongoTemplate mongoTemplate;
 
/**mongoTemplate的get/set方法**/
public MongoTemplate getMongoTemplate(){
return mongoTemplate;
} 
 
public void setMongoTemplate(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
 
//查询所有
public List<Person> findAll(){
return getMongoTemplate().find(new Query, Person.class);
}
 
 
 
//查询修改
public void findAndModify(){
getMongoTemplate().updateFirst(new Query(Criteria.where(“id”)).is(id) ,
new Update().inc(“age” , 3));
}
 
 
 
 
//按条件查询
public List<Person> findAll(){
Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
Criteria criteria = new Criteria(“name”).regex(pattern.toString());
return getMongoTemplate().find(new Query(criteria), Person.class)
}
 
 
 
 
//按ID查询对象
public Person findOne(String id){
return getMongoTemplate().findOne(new 
Query(Criteria.where(“id”).is(id), Person.class));
}
 
 
 
//增加
public void insert(Person person){
getMongoTemplate().insert(person);
}
 
 
 
 
//删除所有
public void removeAll(){
List<Person>list = this.finAll();
If(list != null){
for(Person person:list){
getMongoTemplate().remove(person)
 
}
}
}
 
 
 
//按ID删除
public void removeOne(String id){
Criteria criteria = Criteria.where(“id”).in(id);
if(criteria != null){
Query query = new Query(criteria);
if(query != null && getMongoTemplate().findOne(query,Person.class)){
getMongoTemplate().remoev(getMongoTemplate().findOne(query,
Person.class));
}
}
}
}

5.配置ApplicationContext.xml

我们使用了Spring,自然要配置ApplicationContext;因为各版本不同,所以ApplicationContext.xml中的系统默认头代码请复制我以下的来使用,要不然会代码错误:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xmlns:context="http://www.springframework.org/schema/context"            xmlns:mongo="http://www.springframework.org/schema/data/mongo"  xsi:schemaLocation="http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.0.xsd        http://www.springframework.org/schema/data/mongo         http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd  
http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
 
<!--以下为Spring配置-->
<!--设置MongoDB的连接端口-->
<mongo:mongo host="localhost" port="27017"></mongo:mongo>
<bean 
id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate">
<constructor-arg ref="mongo"/>
<constructor-arg name="databaseName" value="db"/>
<constructor-arg name="defaultCollectionName" value="person"/ >
</bean>
<!--配置bean,把PersonReposiory的实现类注入-->
<bean 
id="personRepository" class="com.mongo.repository.PersonRepository">
<property name="mongoTemplate" ref="mongoTemplate"/>
</bean>
</beans>

ApplicationContext.xml代码如图,虽然左上角出现红X的错误提示。提示的

信息大概是有重复的注释。不用去管他,只要代码里面没有红线就好。


6.写测试类进行测试

创建一个有mian方法的测试类Test:部分方法的源代码如下:

 

public class Test{
 
private static log log = logFactory.getlog(Test.class.getName());
 
private AbstractRepository pr = null;
 
//初始方法
public void init(){
log.debug(“开始启动”);
ApplicationContext ac = new ClassPathXmlApplicationContext(
“applicationContext.xml”);
pr = (PersonRepository) ac.getbean(“personRepository”);
}
 
//添加方法
public void insert(){
Person p = new Person(“id1”,“cuiran”,27);
pr.insert(p);
log.debug(“添加成功!”);
}
 
 
//按ID查询对象
public void finOne(){
String id = “id1”;
Person p =  pr.findOne(id);
log.debug(p);
}
}
 
 
//查询所有
public void findAll(){
List<Person> list = pr.findAll();
log.debug(“查询结果:”);
for(Person p:list){
log.debug(p.toString);
}
}
 
//测试方法
public void start(){
init();	 //执行初始化
insert();	 //执行添加方法
}
 
 
//mian方法
public static void main(String args []){
Text text = new Text();
 test.start();
}
 
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
MyEclipse进行 JDBC 连接 MySQL 可以分为以下几个步骤: 1. 导入 MySQL 驱动包 将 MySQL 的 JDBC 驱动包(mysql-connector-java.jar)复制到 MyEclipse 项目的 lib 目录下,然后右键单击该驱动包,选择 Build Path -> Add to Build Path 将其添加到项目的构建路径中。 2. 编写 JDBC 连接代码 在 Java 代码中编写 JDBC 连接代码,示例代码如下: ```java import java.sql.*; public class JdbcTest { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 1. 加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); // 2. 获取数据库连接 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 3. 创建 Statement 对象 stmt = conn.createStatement(); // 4. 执行 SQL 查询 String sql = "select * from user"; rs = stmt.executeQuery(sql); // 5. 处理查询结果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println("id=" + id + ", name=" + name); } } catch (Exception e) { e.printStackTrace(); } finally { // 6. 关闭资源 try { rs.close(); } catch (Exception e) {} try { stmt.close(); } catch (Exception e) {} try { conn.close(); } catch (Exception e) {} } } } ``` 3. 运行程序 在 MyEclipse 中运行该程序,如果一切正常,就会输出查询结果。 至于简单的增删改查操作,可以使用 PreparedStatement 对象来执行 SQL 语句。示例代码如下: ```java import java.sql.*; public class JdbcTest { public static void main(String[] args) { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { // 1. 加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); // 2. 获取数据库连接 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 3. 执行插入操作 String sql = "insert into user (name, age) values (?, ?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, "张三"); pstmt.setInt(2, 18); pstmt.executeUpdate(); // 4. 执行更新操作 sql = "update user set age = ? where name = ?"; pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 20); pstmt.setString(2, "张三"); pstmt.executeUpdate(); // 5. 执行删除操作 sql = "delete from user where name = ?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, "张三"); pstmt.executeUpdate(); // 6. 执行查询操作 sql = "select * from user"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id=" + id + ", name=" + name + ", age=" + age); } } catch (Exception e) { e.printStackTrace(); } finally { // 7. 关闭资源 try { rs.close(); } catch (Exception e) {} try { pstmt.close(); } catch (Exception e) {} try { conn.close(); } catch (Exception e) {} } } } ``` 以上代码实现了插入一条记录、更新一条记录、删除一条记录和查询所有记录的操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值