После того, как был задан этот вопрос, произошли некоторые изменения. Используя test.java
в вопросе, вот что сработало для меня, используя Google Gson
:
import com.google.gson.Gson;
import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class test {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient(); // Connect with default settings i.e. localhost:27017
MongoDatabase db = mongoClient.getDatabase("test"); // Get database "test". Creates one if it doesn't exist
Employee employee = new Employee(); // Create java object
employee.setNo(1L);
employee.setName("yogesh");
// Deserialize object to json string
Gson gson = new Gson();
String json = gson.toJson(employee);
// Parse to bson document and insert
Document doc = Document.parse(json);
db.getCollection("NameColl").insertOne(doc);
// Retrieve to ensure object was inserted
FindIterable<Document> iterable = db.getCollection("NameColl").find();
iterable.forEach(new Block<Document>() {
@Override
public void apply(final Document document) {
System.out.println(document); // See below to convert document back to Employee
}
});
}
}
Вы также можете использовать Gson
для преобразования полученного документа bson обратно в объект Java:
Gson gson = new Gson();
Employee emp = gson.fromJson(document.toJson(), Employee.class);
Я думаю, вы можете использовать MySQL Workbench, он должен иметь обратный инжиниринг (от базы данных к модели).
Взгляните на MySQL Workbench , это бесплатно, и следующий выпуск (в настоящее время альфа) станет большим шагом вперед (он заменит MySQL Query Browser).
Вы можно выполнять обратный инжиниринг с помощью Visual Architect или Power Designer , но вы должны заплатить
.Просто чтобы завершить ответ Оскара.
Вот ссылка: MySQL Workbench
И несколько снимков экрана:
(источник: mysql.fr )
(источник: mysql.fr )
Кстати, я не думаю, что функция обратного проектирования доступна в бесплатной версии ..
Вы также можете воспользоваться посмотрите на эти: