views:

96

answers:

5

I've tried searching for similar questions here and I don't think I've found anything that matches what I'm looking for. I would like to know where to start in developing a (most likely) database-driven Java application that could keep track of customers, invoices, and quotes for my dad's auto shop. There will be a couple computers in the shop that will need access to it.

I was thinking of having a server in there to handle the database and let whatever machines need to access it use a client app.

Almost all of my experience is in a LAMP environment but I have been trying to learn as much as I can about Java and feel pretty comfortable playing with it in Netbeans or Eclipse.

I'm not asking anyone to tell me how to make it or anything. I would just like to know where to start learning. Is MySQL a good match with java or should I use something else? I've been wanting to learn Java and I figured this would be a good project to learn on but everything I read seems to give only bits and pieces of what I want to know. Thanks!

A: 

I think that most of the answers to this question will prove useful as a starting point

p.marino
A: 

You'll never find a complete subject list to learn java or any other tecnology, I suggest that you should start by writing down the requirements for the project and start "trying/failing" at what you want to do. Bits and Pieces are a very good way to learn.

eiefai
+1  A: 

Java and MySQL work well together. Here are some things I would recommend to get started:

  • JDBC (Java Database Connector) - use it to connect to MySQL
  • Swing programming - used to create the GUI front end that users will interact with. While NetBeans has a drag and drop GUI builder interface, actually understanding what's going on under the hood is very important.
    • GlazedLists is a great project for showing dynamic content in table format, such that you can easily filter, sort, etc. Given you will probably have table views of customers, etc., I would look into this

If I were you I would definitely set the bar a little bit lower and try some easier projects to start with (ones that do not require database connectivity, for instance). Once you're a little more advanced with Java, then I'd start work integrating a MySQL table with your app.

I82Much
A: 

You could try building different test applications, to get the feel of java, and slowly start using all parts needed to build your application. Common concepts used in small database-driven Java applications are:

  • JDBC, a java database connector
  • A client/server architecture (needed if multiple clients need to keep their data synchronized)
  • Synchronization
  • A swing GUI

A learning path that worked for me was:

  • Build a command-line driven java application
  • Build a test application with a graphical user interface (GUI).
  • Build a test application with a client/server architecture, but with only one client
  • Build a test application with a client/server architecture, connect multiple clients and keep them synchronized.
  • Build a java application with a JDBC database connector, set up a MySQL server and connect the server in your client/server architecture to it.

You can search for each of the concepts on the internet. It should be easy to find tutorials that will teach you how to use them.

Scharrels
A: 

MySQL should work well with Java.

In any case, if you use JDBC (a generic API to access SQL databases, part of the standard Java library), you should be quite independent of what underlying database you are using (apart from vendor-specific SQL extensions).

Andre Holzner