MongoDB - is an open source document-oriented NoSQL database system. Next I will create simple servlet example that's uses MongoDB.
Installation
- Download MongoDB (ex. Windows unzip it c:\mongo)
- Create folder /data/db (ex. Windows c:\data\db )
- To start mongo, use mongod from bin folder (ex. Windows c:\mongo\bin\mongod.exe )
- To use Mongo in java you need java driver to be included
Coding
Form
<h1> Add new book </h1> <form action="SaveData" method="POST"> Name: <input name="name" size="20" /> Year: <input name="year" size="6" /> Language: <input name="language size="20" /> Author: <input name="author" size="20" /> <input type="submit" value="Add"> </form>
Servlet
@WebServlet("/SaveData")
public class SaveData extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
DBCollection bookCollection;
// init
Mongo mongo = new Mongo();
DB db = mongo.getDB("booksDB");
bookCollection = db.getCollection("books");
if (bookCollection == null) {
bookCollection = db.createCollection("books", null);
}
// create
Book book = new Book();
book.setAuthor(request.getParameter("author"));
book.setLanguage(request.getParameter("language"));
book.setName(request.getParameter("name"));
book.setYear(Integer.parseInt(request.getParameter("year")));
BasicDBObject doc = book.toDBObject();
bookCollection.insert(doc);
// display
List<Book> books = new ArrayList<Book>();
DBCursor cursor = bookCollection.find();
while (cursor.hasNext()) {
DBObject dbo = cursor.next();
Book b = Book.fromDBObject(dbo);
System.out.println(b.getName());
books.add(b);
}
// returning data
request.setAttribute("books", books);
request.getRequestDispatcher("showData.jsp").forward(request, response);
} catch(Exception e){
e.printStackTrace();
}
}
}
book bean:
public class Book {
private String name;
private String author;
private String language;
private int year;
public BasicDBObject toDBObject() {
BasicDBObject document = new BasicDBObject();
document.put("name", name);
document.put("year", year);
document.put("language", language);
document.put("author", author);
return document;
}
public static Book fromDBObject(DBObject document) {
Book b = new Book();
b.name = (String) document.get("name");
b.year = (Integer) document.get("year");
b.language = (String) document.get("language");
b.author = (String) document.get("author");
return b;
}
//getters, setters...
}
References:
Doc
SQL to Mongo Mapping Chart
Tutorial official
plz send me full code
ReplyDelete